Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung des von PHP entwickelten Online-Abstimmungssystems
Detaillierte Erklärung des von PHP entwickelten Online-Abstimmungssystems
Das Abstimmungssystem ist eine sehr häufige Funktion im Internet. Es wird häufig bei verschiedenen Online-Aktivitäten, Umfragen, Wahlen und anderen Szenarien verwendet. In diesem Artikel wird detailliert beschrieben, wie Sie mit PHP ein einfaches Online-Abstimmungssystem entwickeln.
Zuerst müssen wir eine Datenbank erstellen, um wahlbezogene Daten zu speichern. Angenommen, unsere Datenbank heißt „Abstimmung“ und enthält die folgenden zwei Tabellen:
Hier ist der SQL-Beispielcode zum Erstellen der Datenbank und der Tabellen:
CREATE DATABASE vote; USE vote; CREATE TABLE polls ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, deadline DATE NOT NULL ); CREATE TABLE options ( id INT AUTO_INCREMENT PRIMARY KEY, poll_id INT, title VARCHAR(255) NOT NULL, votes INT DEFAULT 0, FOREIGN KEY (poll_id) REFERENCES polls(id) );
Der nächste Schritt besteht darin, die Frontend-Seite zu schreiben, die die Abstimmungsthemen und -optionen anzeigt und die Stimmen des Benutzers empfängt . Hier ist ein einfaches HTML- und PHP-Codebeispiel:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>在线投票系统</title> </head> <body> <h1>投票主题</h1> <?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "vote"); // 查询投票主题和选项 $poll_id = $_GET['poll_id']; $poll_query = "SELECT * FROM polls WHERE id = $poll_id"; $poll_result = mysqli_query($conn, $poll_query); if (mysqli_num_rows($poll_result) > 0) { // 显示投票主题 $poll = mysqli_fetch_assoc($poll_result); echo "<h2>{$poll['title']}</h2>"; // 查询投票选项 $options_query = "SELECT * FROM options WHERE poll_id = $poll_id"; $options_result = mysqli_query($conn, $options_query); if (mysqli_num_rows($options_result) > 0) { // 显示投票选项 echo "<form method='POST' action='vote.php'>"; while ($option = mysqli_fetch_assoc($options_result)) { echo "<input type='radio' name='option_id' value='{$option['id']}'>{$option['title']}<br>"; } echo "<input type='hidden' name='poll_id' value='$poll_id'>"; echo "<input type='submit' value='提交投票'>"; echo "</form>"; } else { echo "没有投票选项。"; } } else { echo "投票主题不存在。"; } // 关闭数据库连接 mysqli_close($conn); ?> </body> </html>
Auf der Abstimmungsseite verwenden wir einen Handler namens „vote.php“, um die Abstimmungsanfrage des Benutzers zu empfangen und zu verarbeiten. Das Folgende ist der Beispielcode:
<?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "vote"); // 根据用户的投票选项,更新选项的票数 $option_id = $_POST['option_id']; $poll_id = $_POST['poll_id']; $update_query = "UPDATE options SET votes = votes + 1 WHERE id = $option_id"; mysqli_query($conn, $update_query); // 关闭数据库连接 mysqli_close($conn); // 重定向到结果页面 header("Location: results.php?poll_id=$poll_id"); exit(); ?>
Wenn der Benutzer eine Abstimmung abgibt, aktualisiert vote.php die Anzahl der Stimmen für die Option und leitet zu einer Seite namens „results.php“ weiter, um die Abstimmungsergebnisse anzuzeigen.
Abschließend müssen wir eine Ergebnisseite schreiben, um die Abstimmungsergebnisse anzuzeigen. Das Folgende ist ein einfaches PHP-Codebeispiel:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>投票结果</title> </head> <body> <h1>投票结果</h1> <?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "vote"); // 查询投票主题和选项 $poll_id = $_GET['poll_id']; $poll_query = "SELECT * FROM polls WHERE id = $poll_id"; $poll_result = mysqli_query($conn, $poll_query); if (mysqli_num_rows($poll_result) > 0) { // 显示投票主题 $poll = mysqli_fetch_assoc($poll_result); echo "<h2>{$poll['title']}(截止日期:{$poll['deadline']})</h2>"; // 查询投票选项 $options_query = "SELECT * FROM options WHERE poll_id = $poll_id"; $options_result = mysqli_query($conn, $options_query); if (mysqli_num_rows($options_result) > 0) { // 显示投票选项和票数 while ($option = mysqli_fetch_assoc($options_result)) { echo "{$option['title']}: {$option['votes']} 票<br>"; } } else { echo "没有投票选项。"; } } else { echo "投票主题不存在。"; } // 关闭数据库连接 mysqli_close($conn); ?> </body> </html>
Das Obige ist eine detaillierte Einführung in ein einfaches Online-Abstimmungssystem, das mit PHP entwickelt wurde. Durch die Kombination der Datenbank und der Frontend-Seite können wir einfach die Benutzer-Abstimmungsfunktion implementieren und die Abstimmungsergebnisse zählen und anzeigen. Natürlich erfordern tatsächliche Abstimmungssysteme möglicherweise mehr Funktionen und Sicherheitsmaßnahmen, um bestimmte Anforderungen zu erfüllen, aber die in diesem Artikel bereitgestellten Beispiele können als Referenz für den Einstieg in die Entwicklung eines grundlegenden Abstimmungssystems verwendet werden.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des von PHP entwickelten Online-Abstimmungssystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!