如何使用PHP開發簡單的線上問卷功能
在現代社會中,問卷是一種常見的資料收集方式,無論是學術研究、市場調查還是使用者回饋,都離不開問卷。隨著網路的普及,越來越多的問卷開始轉向線上形式,這不僅節省了紙本問卷的成本,還可以方便地統計和分析數據。本文將介紹如何使用PHP開發一個簡單的線上問卷功能,並提供具體的程式碼範例。
一、資料庫設計
首先,我們需要設計一個資料庫來儲存問卷的問題和答案。資料庫表可以分為兩個:問題表(questions)和答案表(answers)。
問題表的欄位設計如下:
id - 問題的唯一識別碼
question - 問題的內容
created_at - 問題的建立時間
答案表的欄位設計如下:
id - 答案的唯一識別碼
question_id - 關聯問題表的id
answer - 答案的內容
created_at - 答案的建立時間
二、建立問卷頁面
在PHP中,我們可以使用HTML和CSS來建立問卷頁面的佈局和樣式。以下是一個簡單的範例:
<!DOCTYPE html> <html> <head> <title>在线调查问卷</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <h1>在线调查问卷</h1> <form action="submit.php" method="post"> <p>问题一:</p> <input type="text" name="question1"> <p>问题二:</p> <input type="text" name="question2"> <p>问题三:</p> <input type="text" name="question3"> <p><input type="submit" value="提交"></p> </form> </body> </html>
三、處理問卷提交
在上述的問卷頁面中,我們設定了一個表單,並指定了提交按鈕的action為submit.php。接下來,我們需要建立submit.php檔案來處理問卷的提交。
<?php // 连接数据库 $db = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password'); // 获取问卷数据并插入到数据库 $question1 = $_POST['question1']; $question2 = $_POST['question2']; $question3 = $_POST['question3']; // 插入问题数据 $stmt1 = $db->prepare('INSERT INTO questions (question) VALUES (?)'); $stmt1->execute([$question1]); $stmt2 = $db->prepare('INSERT INTO questions (question) VALUES (?)'); $stmt2->execute([$question2]); $stmt3 = $db->prepare('INSERT INTO questions (question) VALUES (?)'); $stmt3->execute([$question3]); // 获取最新插入问题的id $questionId1 = $db->lastInsertId(); $questionId2 = $db->lastInsertId(); $questionId3 = $db->lastInsertId(); // 处理答案数据 $answer1 = $_POST['answer1']; $answer2 = $_POST['answer2']; $answer3 = $_POST['answer3']; // 插入答案数据 $stmt4 = $db->prepare('INSERT INTO answers (question_id, answer) VALUES (?, ?)'); $stmt4->execute([$questionId1, $answer1]); $stmt5 = $db->prepare('INSERT INTO answers (question_id, answer) VALUES (?, ?)'); $stmt5->execute([$questionId2, $answer2]); $stmt6 = $db->prepare('INSERT INTO answers (question_id, answer) VALUES (?, ?)'); $stmt6->execute([$questionId3, $answer3]); // 提交成功提示 echo "问卷提交成功!"; ?>
四、顯示問卷結果
我們可以使用PHP查詢資料庫並將問卷結果以長條圖的形式展示出來。以下是一個簡單的範例程式碼:
<?php // 连接数据库 $db = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password'); // 查询问题数据 $stmt = $db->query('SELECT * FROM questions'); // 打印问卷问题 foreach ($stmt as $row) { echo "<p>问题:".$row['question']."</p>"; // 查询答案数据 $stmt2 = $db->prepare('SELECT * FROM answers WHERE question_id = ?'); $stmt2->execute([$row['id']]); // 打印答案数量 $count = 0; foreach ($stmt2 as $row2) { $count++; } echo "<p>答案数量:".$count."</p>"; } ?>
總結
#透過上述步驟,我們實作了一個簡單的線上問卷功能。當使用者提交問卷後,資料將儲存到資料庫中,我們也可以透過PHP查詢資料庫並展示問卷結果。當然,這只是一個簡單的範例,實際應用中還可以根據需求進行功能的拓展和最佳化。希望本文對於使用PHP開發線上問卷功能的初學者有所幫助。
以上是如何使用PHP開發簡單的線上問卷功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!