Maison > développement back-end > tutoriel php > Système de vote en ligne dynamique implémenté en utilisant PHP et AJAX

Système de vote en ligne dynamique implémenté en utilisant PHP et AJAX

WBOY
Libérer: 2023-08-09 19:02:01
original
1169 Les gens l'ont consulté

Système de vote en ligne dynamique implémenté en utilisant PHP et AJAX

Système de vote en ligne dynamique implémenté à l'aide de PHP et AJAX

Introduction :
Avec le développement d'Internet, de plus en plus d'activités commencent à s'appuyer sur des systèmes de vote en ligne pour recueillir les opinions et les choix des utilisateurs. Cet article explique comment utiliser PHP et AJAX pour implémenter un système de vote en ligne dynamique simple. Grâce à ce système, les utilisateurs peuvent sélectionner les options de vote et consulter instantanément les résultats du vote.

  1. Créer une base de données et une table de données
    Tout d'abord, nous devons créer une base de données MySQL et y créer une table de données pour stocker les données liées aux options de vote et aux résultats du vote. Vous pouvez utiliser l'instruction SQL suivante pour créer une table de données nommée "vote":

CREATE DATABASE vote;

USE vote;

CREATE TABLE options (

id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
votes INT(11) NOT NULL,
PRIMARY KEY (id)
Copier après la connexion

);

  1. Créer une page de vote
    sur le page de vote, nous devons afficher les options de vote et mettre à jour les résultats du vote instantanément après avoir cliqué pour voter via AJAX. Voici un exemple de code HTML pour une page de vote simple :



<title>动态在线投票系统</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
    $(document).ready(function(){
        $(".vote-button").click(function(){
            var optionId = $(this).data("option-id");
            $.ajax({
                url: "vote.php",
                method: "POST",
                data: {optionId: optionId},
                success: function(response){
                    $("#result-container").html(response);
                }
            });
        });
    });
</script>
Copier après la connexion


<h1>动态在线投票系统</h1>
<div id="options-container">
    <?php
        // 连接数据库
        $conn = new mysqli("localhost", "username", "password", "vote");
        if ($conn->connect_error) {
            die("连接数据库失败: " . $conn->connect_error);
        }
        
        // 查询投票选项
        $sql = "SELECT * FROM options";
        $result = $conn->query($sql);
        
        // 输出投票选项
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo '<div class="option">
                        <span class="option-name">' . $row["name"] . '</span>
                        <button class="vote-button" data-option-id="' . $row["id"] . '">投票</button>
                    </div>';
            }
        } else {
            echo "暂无投票选项";
        }
        
        $conn->close();
    ?>
</div>
<div id="result-container">
    <!-- 投票结果将在这里显示 -->
</div>
Copier après la connexion

< / body>

  1. Créer un script PHP pour gérer les demandes de vote
    Nous devons créer un script PHP nommé "vote.php" pour traiter la demande de vote de l'utilisateur et mettre à jour les résultats de vote de l'option correspondante dans la base de données. Voici un exemple de code simple "vote.php" :

if(isset($_POST["optionId"])){
    // 连接数据库
    $conn = new mysqli("localhost", "username", "password", "vote");
    if ($conn->connect_error) {
        die("连接数据库失败: " . $conn->connect_error);
    }
    
    // 获取选项ID和更新投票结果
    $optionId = $_POST["optionId"];
    $sql = "UPDATE options SET votes = votes + 1 WHERE id = $optionId";
    $conn->query($sql);
    
    // 查询更新后的投票结果
    $sql = "SELECT * FROM options";
    $result = $conn->query($sql);
    
    // 输出投票结果
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo '<div class="result">
                    <span class="option-name">' . $row["name"] . '</span>
                    <span class="option-votes">' . $row["votes"] . ' 票</span>
                </div>';
        }
    } else {
        echo "暂无投票结果";
    }
    
    $conn->close();
}
Copier après la connexion

?>

Résumé :
Avec l'exemple de code ci-dessus, nous pouvons implémenter un système de vote en ligne dynamique simple. Les utilisateurs peuvent sélectionner les options de vote et afficher instantanément les résultats du vote. Ce système peut être facilement appliqué aux besoins de vote de diverses activités. Dans le même temps, nous pouvons également étendre et optimiser en fonction des besoins réels, par exemple en ajoutant une variété de graphiques de statistiques de vote, de délais de vote et d'autres fonctions. J'espère que cet article vous aidera à comprendre et à mettre en pratique les systèmes de vote en ligne dynamiques.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal