PHPによる多様な投票方法を実現したオンライン投票システム
インターネット時代の到来により、人々の参加や意見表明への要求はますます強くなっています。オンライン投票システムは、グループの意見を収集し、民主的な意思決定を実現するための便利で迅速な方法となっています。
この記事では、PHP 言語で実装された多様な投票方法に基づくオンライン投票システムを紹介し、関連するコード例を示します。
CREATE TABLE vote
(
id
int(11) NOT NULL AUTO_INCREMENT,
title
varchar(255) NOT NULL,
start_time
datetime NOT NULL,
end_time
datetime NOT NULL,
主キー ( id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE option
(
id
int(11) NOT NULL AUTO_INCREMENT,
vote_id
int(11) NOT NULL,
content
text NOT NULL,
主キー (id
),
キー vote_id
(vote_id
),
制約 fk_vote_id
外部キー (vote_id
) 参照 vote
( id
) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
// 投票テーマの表示
echo "
echo "<input type='".$vote['type']."' name='option' value='".$option['id']."'>".$option['content']."</input><br/>";
}
// 送信ボタン
echo "";
// 投票を送信
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$selectedOption = $_POST['option']; // 根据选项类型进行不同的处理 if ($vote['type'] == 'radio') { // 单选投票 $voteCount = 1; } elseif ($vote['type'] == 'checkbox') { // 多选投票 $voteCount = count($selectedOption); } elseif ($vote['type'] == 'rating') { // 打分投票 $totalRating = $_POST['total_rating']; $voteCount = 1; } // 更新选项表中的投票统计 foreach ($selectedOption as $optionId) { // 执行更新操作,计数+1 // UPDATE option SET count = count + 1 WHERE id = $optionId }
}
// 投票結果のクエリ
$options = $db->query("SELECT * FROM option WHERE vote_id = ".$vote['id'])->fetchAll();
foreach ( $options as $option) {
$votePercentage = ($option['count'] / $voteCount) * 100; echo $option['content'] . ": " . $votePercentage . "%<br/>";
}
上記のコード例を通じて、多様な投票方法を備えたオンライン投票システムを実装できます。ユーザーは投票トピックに基づいて選択し、投票結果を送信できます。管理者は投票トピックを作成し、リアルタイムで投票結果を表示できます。
要約すると、PHP で実装された多様な投票方法を備えたオンライン投票システムは、意見を表明し、民主的な意思決定を実現するというグループのニーズを効果的に満たすことができます。開発者は実際のシナリオに応じてシステムをカスタマイズし、より多くの投票方法と機能を提供できます。インターネット投票システムの利用は、私たちの生活にさらなる利便性と参加をもたらすと信じています。
以上が多様な投票方法をPHPで実装したオンライン投票システムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。