如何使用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開發簡單的在線調查問卷功能的詳細內容,更多請關注www.92cms.cn其它相關文章!






