如何使用 PHP 實現線上投票和民意調查功能
在現代社會中,民意調查和線上投票成為了獲取公眾觀點和決策的重要手段。而PHP作為一種廣泛應用於Web開發的程式語言,為我們提供了豐富的工具和功能來實現這樣的功能。本文將向您介紹如何使用PHP來實現線上投票和民意調查功能。
首先,我們需要設計一個資料庫來儲存投票和調查相關的資料。我們可以建立一個名為"polls"的表格來儲存投票訊息,包括投票標題、選項和每個選項的得票數。範例程式碼如下:
CREATE TABLE polls (
id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, options TEXT NOT NULL, votes TEXT DEFAULT '{"option1":0, "option2":0}'
);
接下來,我們可以建立一個PHP頁面來顯示目前可用的調查和投票表單。我們可以使用SELECT語句來從資料庫中取得調查列表,並將其顯示在頁面上。範例程式碼如下:
55fa7bd1cad3d1a166ab8ce63cbe5950connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 取得調查清單
$sql = "SELECT * FROM polls";
$result = $conn->query($sql);
// 顯示調查清單與投票表單
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) { echo "<h2>".$row["title"]."</h2>"; $options = json_decode($row["options"]); echo "<form action="vote.php" method="POST">"; foreach ($options as $option) { echo "<input type="radio" name="option" value="$option">$option<br>"; } echo "<input type="hidden" name="poll_id" value="".$row["id"]."">"; echo "<input type="submit" value="投票">"; echo "</form>"; }
} else {
echo "暂无可用的调查。";
}
$ conn->close();
?>
當使用者提交投票表單時,我們需要建立一個PHP腳本來處理投票請求,並更新資料庫中的投票計數器。範例程式碼如下:
c81fd19262e820732214996c3a35aebbconnect_error) {
die("连接失败: " . $conn->connect_error);
}
// 取得目前投票資訊
$sql = "SELECT * FROM polls WHERE id = $poll_id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc(); $votes = json_decode($row["votes"], true); // 更新投票计数器 $votes[$option]++; $votes_json = json_encode($votes); // 更新数据库中的投票信息 $sql = "UPDATE polls SET votes = '$votes_json' WHERE id = $poll_id"; if ($conn->query($sql) === TRUE) { echo "投票成功!"; } else { echo "投票失败: " . $conn->error; }
} else {
echo "调查不存在。";
}
$conn->close();
?> ;
最後,我們需要建立一個PHP頁面來顯示投票結果。我們可以使用SELECT語句來從資料庫中獲取投票信息,並將其顯示在頁面上。範例程式碼如下:
55fa7bd1cad3d1a166ab8ce63cbe5950connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 取得投票資訊
$sql = "SELECT * FROM polls";
$result = $conn->query($sql);
// 顯示投票結果
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) { echo "<h2>".$row["title"]."</h2>"; $votes = json_decode($row["votes"], true); $total_votes = array_sum($votes); foreach ($votes as $option => $vote_count) { $percentage = ($vote_count / $total_votes) * 100; echo "<p>$option : $vote_count 票 ($percentage%)</p>"; } }
} else {
echo "暂无可用的调查。";
}
$conn-> ;close();
?>
透過上述步驟,我們就可以使用PHP來實現線上投票和民意調查功能。您可以根據自己的需求進行擴展和定制,例如添加驗證、權限控制等功能,以滿足特定項目的要求。
希望這篇文章對您有幫助!
以上是如何使用 PHP 實現線上投票和民意調查功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!