首頁 >後端開發 >php教程 >如何使用 PHP 實現線上投票和民意調查功能

如何使用 PHP 實現線上投票和民意調查功能

PHPz
PHPz原創
2023-09-05 10:46:54881瀏覽

如何使用 PHP 实现在线投票和民意调查功能

如何使用 PHP 實現線上投票和民意調查功能

在現代社會中,民意調查和線上投票成為了獲取公眾觀點和決策的重要手段。而PHP作為一種廣泛應用於Web開發的程式語言,為我們提供了豐富的工具和功能來實現這樣的功能。本文將向您介紹如何使用PHP來實現線上投票和民意調查功能。

  1. 資料庫設計

首先,我們需要設計一個資料庫來儲存投票和調查相關的資料。我們可以建立一個名為"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}'

);

  1. 顯示調查和投票表單

接下來,我們可以建立一個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();
?>

  1. 處理投票請求

當使用者提交投票表單時,我們需要建立一個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();
?> ;

  1. 顯示投票結果

最後,我們需要建立一個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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn