
如何使用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><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/7fc7563c4182" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">PHP免费学习笔记(深入)</a>”;</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/code/11073">
<img src="https://img.php.cn/upload/webcode/000/000/019/176485140748394.jpg" alt="ShoopD 网上商店系统">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/code/11073">ShoopD 网上商店系统</a>
<p>用 php + mysql 驱动的在线商城系统,我们的目标为中国的中小企业及个人提供最简洁,最安全,最高效的在线商城解决方案,使用了自建的会员积分折扣功能,不同的会员组有不同的折扣,让您的商店吸引更多的后续客户。 系统自动加分处理功能,自动处理会员等级,免去人工处理的工作量,让您的商店运作起来更方便省事 采用了自建的直接模板技术,免去了模板解析时间,提高了代码利用效率 独立开发的购物车系统,使用最</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="ShoopD 网上商店系统">
<span>0</span>
</div>
</div>
<a href="/xiazai/code/11073" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="ShoopD 网上商店系统">
</a>
</div>
";
// 查询问题
$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中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号