Un système de vote en ligne avec des méthodes de vote diversifiées implémentées en PHP
Avec l'avènement de l'ère Internet, la demande des gens en matière de participation et d'expression d'opinions est devenue de plus en plus forte. Les systèmes de vote en ligne sont devenus un moyen pratique et rapide de recueillir des opinions de groupe et de parvenir à une prise de décision démocratique.
Dans cet article, nous présenterons un système de vote en ligne avec des méthodes de vote diversifiées basées sur le langage PHP et fournirons des exemples de code pertinents.
vote
(id
int(11) NOT NULL AUTO_INCREMENT, title code> varchar(255) NON NULL,<code>vote
(
id
int(11) NOT NULL AUTO_INCREMENT,
title
varchar(255) NOT NULL,
start_time
datetime NOT NULL,
end_time
datetime NOT NULL,
PRIMARY KEY (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,
PRIMARY KEY (id
),
KEY vote_id
(vote_id
),
CONSTRAINT fk_vote_id
FOREIGN KEY (vote_id
) REFERENCES vote
(id
start_time
datetime NON NULL,
end_time
datetime NON NULL,
id
)option
(id
int(11) NON NULL AUTO_INCREMENT,vote_id
int(11 ) NON NULL, content
texte NON NULL,
CLÉ PRIMAIRE (id
),
CLÉ vote_id
(vote_id
),
CONTRAINTE fk_vote_id CLÉ ÉTRANGÈRE (vote_id
) RÉFÉRENCES vote
(id
) SUR SUPPRIMER CASCADE SUR MISE À JOUR CASCADE
Conception frontale
echo "<input type='".$vote['type']."' name='option' value='".$option['id']."'>".$option['content']."</input><br/>";
echo "";
Implémentation backend
// Soumettre le vote
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 }
$votePercentage = ($option['count'] / $voteCount) * 100; echo $option['content'] . ": " . $votePercentage . "%<br/>";
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!