如何使用PHP开发在线问卷功能
随着互联网的发展,人们在进行市场调研、用户满意度调查、学术研究等领域都需要使用到问卷调查。而在线问卷调查成为当前最为流行和方便的方式之一。本文将以PHP开发语言为例,介绍如何使用PHP开发一个简单的在线问卷功能,并附上代码示例。
我们还需要创建一个名为"questions"的表来存储问卷的问题。表结构可以包含字段如下:
<?php // 连接数据库 $conn = new mysqli('localhost', 'username', 'password', 'questionnaires'); if ($conn->connect_error) { die("连接数据库失败:" . $conn->connect_error); } // 查询问卷 $sql = "SELECT * FROM surveys"; $result = $conn->query($sql); // 显示问卷 if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<h1>{$row['title']}</h1>"; echo "<p>{$row['description']}</p>"; // 查询问题 $questionSql = "SELECT * FROM questions WHERE survey_id = {$row['id']}"; $questionResult = $conn->query($questionSql); // 显示问题 if ($questionResult->num_rows > 0) { while ($questionRow = $questionResult->fetch_assoc()) { echo "<p>{$questionRow['content']}</p>"; // 根据问题类型显示不同的输入框 if ($questionRow['type'] == 'text') { echo "<input type='text' name='answer{$questionRow['id']}'><br>"; } elseif ($questionRow['type'] == 'checkbox') { echo "<input type='checkbox' name='answer{$questionRow['id']}[]' value='Option 1'>选项1<br>"; echo "<input type='checkbox' name='answer{$questionRow['id']}[]' value='Option 2'>选项2<br>"; echo "<input type='checkbox' name='answer{$questionRow['id']}[]' value='Option 3'>选项3<br>"; } elseif ($questionRow['type'] == 'radio') { echo "<input type='radio' name='answer{$questionRow['id']}' value='Option 1'>选项1<br>"; echo "<input type='radio' name='answer{$questionRow['id']}' value='Option 2'>选项2<br>"; echo "<input type='radio' name='answer{$questionRow['id']}' value='Option 3'>选项3<br>"; } } } // 显示提交按钮 echo "<input type='submit' value='提交'>"; } } // 关闭数据库连接 $conn->close(); ?>
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 连接数据库 $conn = new mysqli('localhost', 'username', 'password', 'questionnaires'); if ($conn->connect_error) { die("连接数据库失败:" . $conn->connect_error); } // 处理用户答案 foreach ($_POST as $key => $value) { if (strpos($key, 'answer') === 0) { $questionId = substr($key, 6); $answer = is_array($value) ? implode(", ", $value) : $value; $sql = "INSERT INTO answers (question_id, answer) VALUES ($questionId, '$answer')"; if ($conn->query($sql) !== TRUE) { echo "插入答案失败:" . $conn->error; } } } // 关闭数据库连接 $conn->close(); } ?>
通过上述代码示例,我们可以实现一个简单的在线问卷功能。当用户访问首页时,会显示相应的问卷并提供输入框供用户填写。当用户提交答案后,我们将其存储到数据库中以供后续分析。
当然,这只是一个简单的示例,我们可以根据实际需求对代码进行扩展和优化。例如,可以添加验证逻辑来确保用户输入的有效性,增加问卷的多语言支持等。
希望本文能够帮助你理解如何使用PHP开发一个简单的在线问卷功能。祝你的开发之路顺利!
以上是如何使用PHP开发在线问卷功能的详细内容。更多信息请关注PHP中文网其他相关文章!