インターネット時代の出現により、参加に対する人々の意見表現に対する人々の要求はますます強くなっています。迅速かつ便利な方法として、オンライン投票システムは、民主的な意思決定とグループ意見のコレクションの重要なツールになりました。
この記事では、PHP言語に基づいて多様化した投票方法をサポートするオンライン投票システムを実装する方法を紹介し、開発者が独自の投票プラットフォームを実現できるように完全なコード例を提供します。
単一選択、複数選択、スコアリングの投票方法をサポートします。
ユーザーは匿名で投票できます。
管理者は、投票トピックを作成し、オプションを編集し、投票時間を設定できます。
システムは、投票結果をリアルタイムでカウントおよび表示できます。
これら2つのテーブルの構造の例を次に示します。
テーブル投チケットするを作成します( id int(11)null auto_incrementではない、 タイトルvarchar(255)nullではありません、 start_time dateTime noll、null、 end_time dateTimeはnullではありません、 ホストキー(ID) )Engine = InnoDBデフォルトcharset = utf8;
テーブルオプションを作成します( id int(11)null auto_incrementではない、 lote_id int(11)nullではありません、 コンテンツテキストはnullではなく、 ホストキー(ID)、 key hote_id(bote_id)、 制限fk_vote_id外部のキー(投チケットする_id)参照チケット(ID)の削除カスケードの削除カスケード )Engine = InnoDBデフォルトcharset = utf8;
//投チケットするテーマディスプレイエコー "<h2> 「。$チケット['title']。」</h2> "; //オプションforeach($ options as $ option){ エコー」<input type='" . $vote['type'] . "' name='option' value='" . $option['id'] . "'> "。$ option ['content']。」<br/> "; } //ボタンエコーを送信 "<input type='submit' value="投チケットするを提案しますします"> ";
//投チケットするを提案しますするif($ _server ['request_method'] == 'post'){ $ selectedOption = $ _post ['option']; //ハンドルif($チケット['type'] == 'radio'){ //単一の選択投チケットする$ hotecount = 1; } elseif($チケット['type'] == 'チェックボックス'){ //複数選択投チケットする$ hotecount = count($ selectedoption); } elseif($チケット['type'] == 'rating'){ //スコア投チケットする$ TotalRating = $ _Post ['Total_rating']; $ hotecount = 1; } //投チケットする統計foreach($ selectedoption as $ optionid){ //操作を更新しますしますの実行:更新しますオプションセットcount = count + 1ここでid = $ optionid } }
//投チケットする結果$ options = $ db-> query( "select * from option where option where pots_id ="。$チケット['id']) - > fetchall(); foreach($ options as $ option){ $ hotepercentage =($ option ['count'] / $ hotecount) * 100; echo $ option ['content']。 ":"。 $ hotepercentage。 「%<br/> "; }