如何使用PHP開發簡單的線上問卷功能

王林
發布: 2023-09-20 13:42:02
原創
1106 人瀏覽過

如何使用PHP開發簡單的線上問卷功能

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!