Maison >développement back-end >tutoriel php >Utilisation de PHP pour implémenter le vote en ligne et l'affichage des résultats du vote avec fonction de chat en temps réel
Utilisez PHP pour mettre en œuvre le vote en ligne et l'affichage des résultats du vote avec une fonction de chat en temps réel
Avec le développement d'Internet, de plus en plus de sites Web et d'applications ont commencé à fournir des fonctions de chat en temps réel. Le vote en ligne est également une fonctionnalité courante et peut être utilisé lors de divers événements, élections et processus décisionnels. Cet article explique comment utiliser PHP pour mettre en œuvre le vote en ligne avec une fonction de chat en temps réel et afficher les résultats du vote en temps réel.
Tout d'abord, nous devons créer une base de données pour stocker les données liées au vote. MySQL ou d'autres bases de données relationnelles peuvent être utilisées. Supposons que nous créions une base de données nommée « sondages » et que nous y créions trois tables : utilisateurs
, sondages
et votes
. users
、polls
和votes
。
users
表包含用户的信息,比如用户名、密码等。polls
表包含投票的信息,比如投票的标题、选项等。votes
表包含投票结果的信息,比如用户ID、投票ID、选项等。下面是数据库表的创建语句:
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `polls` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `votes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `poll_id` int(11) NOT NULL, `option` varchar(255) NOT NULL, PRIMARY KEY (`id`) );
在实现在线投票功能之前,首先需要实现用户注册和登录功能。这部分代码比较简单,可以使用PHP的mysqli
扩展与数据库进行交互。
下面是一个简单的注册和登录示例:
// 注册 $username = $_POST['username']; $password = $_POST['password']; $query = $mysqli->prepare("INSERT INTO users (username, password) VALUES (?, ?)"); $query->bind_param('ss', $username, $password); $query->execute(); $query->close(); // 登录 $username = $_POST['username']; $password = $_POST['password']; $query = $mysqli->prepare("SELECT * FROM users WHERE username = ? AND password = ?"); $query->bind_param('ss', $username, $password); $query->execute(); $result = $query->get_result(); $user = $result->fetch_assoc(); $query->close(); if ($user) { // 登录成功,可以进行投票操作 } else { // 登录失败,用户名或密码错误 }
接下来,我们需要创建投票和投票展示的页面。这里使用HTML和CSS来创建投票页面,使用PHP来处理投票数据。
下面是一个简单的投票页面示例:
<html> <head> <title>在线投票</title> <style> .vote-option { margin-bottom: 10px; } </style> </head> <body> <h1>在线投票</h1> <form action="vote.php" method="post"> <h2>投票标题</h2> <div class="vote-option"> <input type="radio" name="option" value="option1"> 选项1 </div> <div class="vote-option"> <input type="radio" name="option" value="option2"> 选项2 </div> <input type="submit" value="投票"> </form> </body> </html>
这里的投票页面包含一个投票标题和多个投票选项。当用户点击"投票"按钮时,表单数据将被提交到vote.php
处理投票。
在vote.php
中,我们需要处理投票数据并将结果存储到数据库中。
下面是一个简单的投票处理和结果展示的代码示例:
// 投票处理 $userID = $_SESSION['userID']; // 根据用户的登录状态获取用户ID $pollID = $_POST['pollID']; $option = $_POST['option']; $query = $mysqli->prepare("INSERT INTO votes (user_id, poll_id, option) VALUES (?, ?, ?)"); $query->bind_param('iis', $userID, $pollID, $option); $query->execute(); $query->close(); // 投票结果展示 $query = $mysqli->prepare("SELECT option, COUNT(*) as count FROM votes WHERE poll_id = ? GROUP BY option"); $query->bind_param('i', $pollID); $query->execute(); $result = $query->get_result(); $query->close(); while ($row = $result->fetch_assoc()) { echo $row['option'] . ': ' . $row['count'] . ' 票<br>'; }
在投票处理部分,我们使用用户ID、投票ID和选项创建一个新的投票结果,并存储到votes
users
contient des informations utilisateur, telles que le nom d'utilisateur, le mot de passe, etc. Le tableau sondages
contient des informations sur les votes, telles que les titres de vote, les options, etc. Le tableau votes
contient des informations sur les résultats du vote, telles que l'ID utilisateur, l'ID de vote, les options, etc. 🎜mysqli
de PHP pour interagir avec la base de données. 🎜🎜Voici un exemple simple d'inscription et de connexion : 🎜rrreeevote.php
pour traiter le vote. 🎜vote.php
, nous devons traiter les données de vote et stocker les résultats dans la base de données. 🎜🎜Ce qui suit est un exemple de code simple pour le traitement des votes et l'affichage des résultats : 🎜rrreee🎜Dans la partie traitement des votes, nous utilisons l'ID utilisateur, l'ID de vote et les options pour créer un nouveau résultat de vote et le stocker dans votesTableau. 🎜🎜Dans la section d'affichage des résultats du vote, nous interrogeons les options et les votes correspondants dans la base de données en fonction de l'ID de vote et les affichons. 🎜🎜Ce qui précède est un exemple de code d'utilisation de PHP pour implémenter le vote en ligne et l'affichage des résultats du vote avec une fonction de chat en temps réel. Avec ces codes, nous pouvons créer un site Web ou une application prenant en charge les fonctionnalités de chat en direct et de vote en ligne. 🎜
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!