Home  >  Article  >  Backend Development  >  Using PHP to implement online voting and voting result display with real-time chat function

Using PHP to implement online voting and voting result display with real-time chat function

王林
王林Original
2023-08-14 09:13:241294browse

Using PHP to implement online voting and voting result display with real-time chat function

Use PHP to implement online voting and voting result display with real-time chat function

With the development of the Internet, more and more websites and applications have begun to provide real-time chat Function. Online voting is also a common feature and can be used in various events, elections and decision-making processes. This article will introduce how to use PHP to implement online voting with real-time chat function and display voting results in real time.

  1. Database settings

First, we need to create a database to store voting-related data. MySQL or other relational databases can be used. Suppose we create a database named "polls" and create three tables in it: users, polls, and votes.

  • usersThe table contains user information, such as user name, password, etc.
  • pollsThe table contains voting information, such as voting titles, options, etc. The
  • votes table contains voting result information, such as user ID, voting ID, options, etc.

The following is the creation statement of the database table:

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`)
);
  1. Registration and login function

Before implementing the online voting function, it first needs to be implemented User registration and login functions. This part of the code is relatively simple and you can use PHP's mysqli extension to interact with the database.

The following is a simple registration and login example:

// 注册
$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 {
  // 登录失败,用户名或密码错误
}
  1. Create voting and voting page

Next, we need to create voting and voting display page. Here, HTML and CSS are used to create the voting page, and PHP is used to process the voting data.

The following is an example of a simple voting page:

<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>

The voting page here contains a voting title and multiple voting options. When the user clicks the "Vote" button, the form data will be submitted to vote.php to process the vote.

  1. Vote processing and result display

In vote.php, we need to process the voting data and store the results into the database.

The following is a simple code example for voting processing and result display:

// 投票处理
$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>';
}

In the voting processing part, we use the user ID, voting ID and options to create a new voting result and store it to the votes table.

In the voting results display part, we query the corresponding options and votes in the database based on the voting ID and display them.

The above is a code example of using PHP to implement online voting and voting result display with real-time chat function. With these codes we can create a website or application that supports live chat and online voting functionality.

The above is the detailed content of Using PHP to implement online voting and voting result display with real-time chat function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn