インターネットの継続的な開発により、オンライン投票機能は、さまざまなWebサイトやプラットフォームにとって徐々に重要なインタラクティブな方法になりました。 PHP言語を使用して、ユーザーの投票、結果統計、管理者管理機能をサポートする基本的な投票システムをすばやく実装できます。この記事では、データベース設計からコード実装までの投票システムの構築プロセスを示します。
この投票システムには、主に次の機能が含まれています。
上記の機能をサポートするには、次のデータテーブルを設計する必要があります。
投票システムの主要なPHP実装の例は次のとおりです。
データベースに接続します:
<?php $host = 'localhost'; $db = 'vote_system'; $user = 'root'; $pass = ''; $conn = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass); ?>
投票のトピックとオプションを照会します。
<?php $sql = 'SELECT * FROM vote_subjects'; $stmt = $conn->クエリ($ sql); $ subjects = $ stmt-> fetchall(pdo :: fetch_assoc); foreach($ subjects as $ subject){ echo $ subject ['title']。 '<br> '; $ subject_id = $ subject ['id']; $ sql = "select * from mote_options where subject_id = $ subject_id"; $ stmt = $ conn-> query($ sql); $ options = $ stmt-> fetchall(pdo :: fetch_assoc); foreach($ options as $ option){ echo $ option ['option_name']。 ':'。 $ option ['投票する']。 '投票する<br>'; } } ?>
投票ロジック:
<?php $subject_id = $_POST['subject_id']; $option_id = $_POST['option_id']; $ip_address = $_SERVER['REMOTE_ADDR']; $sql = "SELECT COUNT(*) FROM votes WHERE option_id = $option_id AND ip_address = '$ip_address'"; $stmt = $conn->クエリ($ sql); $ count = $ stmt-> fetchcolumn(); if($ count> 0){ Echo 'あなたは投票するしました! '; } それ以外 { $ sql = "update lot_options set votes = votes + 1ここでid = $ option_id"; $ conn-> exec($ sql); $ sql = "投票するに挿入(option_id、ip_address)values($ option_id、 '$ ip_address')"; $ conn-> exec($ sql); Echo '投票するは成功しました! '; } ?>
管理者関数の例:
<?php // 创建投票する主题 $title = $_POST['title']; $sql = "INSERT INTO vote_subjects (title) VALUES ('$title')"; $conn-> exec($ sql); //投票するオプションを作成$ subject_id = $ _post ['subject_id']; $ option_name = $ _post ['option_name']; $ sql = "Inserting into lote_options(subject_id、option_name、botes)values($ subject_id、 '$ option_name'、0)"; $ conn-> exec($ sql); //投票するオプションを編集$ id = $ _post ['id']; $ option_name = $ _post ['option_name']; $ sql = "update lot_options set option_name = '$ option_name' where id = $ id"; $ conn-> exec($ sql); //投票するオプションを削除$ id = $ _post ['id']; $ sql = "bot_optionsからdelete from id = $ id"; $ conn-> exec($ sql); ?>
この記事では、PHPに基づいた単純な投票システムの実装プロセスを示し、データベース構造、ユーザー投票ロジック、および管理者の操作の例をカバーしています。このシステムは基本的な投票ニーズを満たすことができますが、実際のアプリケーションでは、セキュリティ(SQLインジェクション保護など)、ユーザー認証、フロントエンド表示の最適化を追加して、実際のシナリオでより適切に適用する必要もあります。