PHP を使用してオンライン投票および投票機能を実装する方法

PHPz
リリース: 2023-09-05 10:58:01
オリジナル
853 人が閲覧しました

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

PHP を使用してオンライン投票と世論調査機能を実装する方法

現代社会において、世論調査とオンライン投票は世論と意思決定を得る重要な手段となっています。作ること。 PHP は Web 開発で広く使用されているプログラミング言語として、その機能を実現するためのツールや機能を豊富に提供しています。この記事では、PHP を使用してオンライン投票と投票機能を実装する方法を紹介します。

  1. データベース設計

まず、投票およびアンケート関連のデータを保存するデータベースを設計する必要があります。 「polls」と呼ばれるテーブルを作成して、投票のタイトル、オプション、各オプションの投票数などの投票情報を保存できます。サンプル コードは次のとおりです。

CREATE TABLE votes (

id INT(11) AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
options TEXT NOT NULL,
votes TEXT DEFAULT '{"option1":0, "option2":0}'
ログイン後にコピー

);

  1. アンケートと投票フォームを表示

Next現在利用可能なアンケートや投票フォームを表示するための PHP ページを作成できます。 SELECT ステートメントを使用して、データベースからアンケートのリストを取得し、ページに表示できます。サンプル コードは次のとおりです。

// データベースに接続します
$servername = "localhost";
$username = "username";
$パスワード = "パスワード" ;
$dbname = "データベース";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn-> ;connect_error) {

die("连接失败: " . $conn->connect_error);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}

// 調査リストを取得
$sql = "SELECT * FROM世論調査";
$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 スクリプトを作成する必要があります。 投票リクエストが行われ、データベース内の投票カウンターが更新されます。サンプル コードは次のとおりです。

// 投票オプションとアンケート ID を取得します。
$option = $_POST["option"];
$poll_id = $_POST ["poll_id "];

//データベースに接続します
$servername = "localhost";
$username = "ユーザー名";
$password = "パスワード";
$dbname = " データベース";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}

// 現在の投票情報を取得します
$sql = "SELECT * FROM votes 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 ステートメントを使用して、データベースから投票情報を取得し、ページに表示できます。サンプル コードは次のとおりです。

// データベースに接続します
$servername = "localhost";
$username = "username";
$パスワード = "パスワード" ;
$dbname = "データベース";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn-> ;connect_error) {

die("连接失败: " . $conn->connect_error);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}

// 投票情報の取得
$sql = "SELECT * FROM 投票";
$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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!