Heim > Backend-Entwicklung > PHP-Tutorial > Wie man mit PHP Online-Abstimmungs- und Umfragefunktionen implementiert

Wie man mit PHP Online-Abstimmungs- und Umfragefunktionen implementiert

PHPz
Freigeben: 2023-09-05 10:58:01
Original
888 Leute haben es durchsucht

如何使用 PHP 实现在线投票和民意调查功能

So verwenden Sie PHP, um Online-Abstimmungs- und Umfragefunktionen zu implementieren

In der modernen Gesellschaft sind Meinungsumfragen und Online-Abstimmungen zu wichtigen Mitteln geworden, um öffentliche Meinungen einzuholen und Entscheidungen zu treffen. Als eine in der Webentwicklung weit verbreitete Programmiersprache stellt uns PHP eine Fülle von Werkzeugen und Funktionen zur Verfügung, um solche Funktionen zu erreichen. In diesem Artikel erfahren Sie, wie Sie mit PHP Online-Abstimmungs- und Umfragefunktionen implementieren.

  1. Datenbankdesign

Zuerst müssen wir eine Datenbank entwerfen, um Abstimmungs- und Umfragedaten zu speichern. Wir können eine Tabelle namens „Umfragen“ erstellen, um Abstimmungsinformationen zu speichern, einschließlich des Umfragetitels, der Optionen und der Anzahl der Stimmen für jede Option. Der Beispielcode lautet wie folgt:

CREATE TABLE polls (

id INT(11) AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
options TEXT NOT NULL,
votes TEXT DEFAULT '{"option1":0, "option2":0}'
Nach dem Login kopieren

);

  1. Umfrage- und Umfrageformulare anzeigen

Als nächstes können wir eine PHP-Seite erstellen, um die aktuell verfügbaren Umfragen und Umfrageformulare anzuzeigen. Mit der SELECT-Anweisung können wir die Liste der Umfragen aus der Datenbank abrufen und auf der Seite anzeigen. Der Beispielcode lautet wie folgt:

//Mit der Datenbank verbinden
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database ";

$ conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

// Holen Sie sich die Umfrageliste
$sql = "SELECT * FROM polls" ;
$result = $conn->query($sql);

// Umfrageliste und Abstimmungsformular anzeigen
if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {
    echo "<h2>".$row["title"]."</h2>";
    $options = json_decode($row["options"]);
    echo "<form action="vote.php" method="POST">";
    foreach ($options as $option) {
        echo "<input type="radio" name="option" value="$option">$option<br>";
    }
    echo "<input type="hidden" name="poll_id" value="".$row["id"]."">";
    echo "<input type="submit" value="投票">";
    echo "</form>";
}
Nach dem Login kopieren

} else {

echo "暂无可用的调查。";
Nach dem Login kopieren
Nach dem Login kopieren

}
$conn->close();
?>

  1. Umgang mit Abstimmungsanfragen

Wenn der Benutzer das Abstimmungsformular übermittelt, müssen wir ein PHP-Skript erstellen, um die Abstimmungsanfrage zu bearbeiten und Aktualisieren Sie den Abstimmungszähler in der Datenbank. Der Beispielcode lautet wie folgt:

// Abstimmungsoptionen und Umfrage-ID abrufen
$option = $_POST["option"];
$poll_id = $_POST["poll_id"];

// Mit der Datenbank verbinden
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname );
if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

// Aktuelle Abstimmungsinformationen abrufen
$sql = "SELECT * FROM polls WHERE id = $poll_id";
$result = $conn-> query($sql);
if ($result->num_rows > 0) {

$row = $result->fetch_assoc();
$votes = json_decode($row["votes"], true);

// 更新投票计数器
$votes[$option]++;
$votes_json = json_encode($votes);

// 更新数据库中的投票信息
$sql = "UPDATE polls SET votes = '$votes_json' WHERE id = $poll_id";
if ($conn->query($sql) === TRUE) {
    echo "投票成功!";
} else {
    echo "投票失败: " . $conn->error;
}
Nach dem Login kopieren

} else {

echo "调查不存在。";
Nach dem Login kopieren

}

$conn->close();
?>

  1. Abstimmungsergebnisse anzeigen

Abschließend müssen wir eine PHP-Seite erstellen, um die Abstimmungsergebnisse anzuzeigen. Mit der SELECT-Anweisung können wir die Abstimmungsinformationen aus der Datenbank abrufen und auf der Seite anzeigen. Der Beispielcode lautet wie folgt:

//Mit der Datenbank verbinden
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database ";

$ conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

// Abstimmungsinformationen abrufen
$sql = " SELECT * FROM polls" ;
$result = $conn->query($sql);

// Abstimmungsergebnisse anzeigen
if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {
    echo "<h2>".$row["title"]."</h2>";
    $votes = json_decode($row["votes"], true);
    $total_votes = array_sum($votes);
    foreach ($votes as $option => $vote_count) {
        $percentage = ($vote_count / $total_votes) * 100;
        echo "<p>$option : $vote_count 票 ($percentage%)</p>";
    }
}
Nach dem Login kopieren

} else {

echo "暂无可用的调查。";
Nach dem Login kopieren
Nach dem Login kopieren

}
$conn ->close();
?>

Durch die oben genannten Schritte können wir PHP verwenden, um Online-Abstimmungs- und Umfragefunktionen zu implementieren. Sie können es entsprechend Ihren Anforderungen erweitern und anpassen, indem Sie beispielsweise Verifizierung, Berechtigungskontrolle und andere Funktionen hinzufügen, um den Anforderungen bestimmter Projekte gerecht zu werden.

Ich hoffe, dieser Artikel ist hilfreich für Sie!

Das obige ist der detaillierte Inhalt vonWie man mit PHP Online-Abstimmungs- und Umfragefunktionen implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage