如何使用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中文網其他相關文章!