>  기사  >  백엔드 개발  >  PHP를 사용하여 실시간 채팅 기능으로 온라인 투표 및 투표 결과 표시 구현

PHP를 사용하여 실시간 채팅 기능으로 온라인 투표 및 투표 결과 표시 구현

王林
王林원래의
2023-08-14 09:13:241312검색

PHP를 사용하여 실시간 채팅 기능으로 온라인 투표 및 투표 결과 표시 구현

PHP를 사용하여 실시간 채팅 기능으로 온라인 투표 및 투표 결과 표시 구현

인터넷이 발전하면서 실시간 채팅 기능을 제공하는 웹사이트와 애플리케이션이 점점 더 많아지고 있습니다. 온라인 투표 역시 일반적인 기능이며 다양한 행사, 선거, 의사결정 과정에서 사용될 수 있습니다. 이 기사에서는 PHP를 사용하여 실시간 채팅 기능으로 온라인 투표를 구현하고 투표 결과를 실시간으로 표시하는 방법을 소개합니다.

  1. 데이터베이스 설정

먼저 투표 관련 데이터를 저장할 데이터베이스를 만들어야 합니다. MySQL 또는 기타 관계형 데이터베이스를 사용할 수 있습니다. "polls"라는 데이터베이스를 생성하고 그 안에 users, pollsvotes라는 세 개의 테이블을 생성한다고 가정해 보겠습니다. userspollsvotes

  • 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`)
);
  1. 注册和登录功能

在实现在线投票功能之前,首先需要实现用户注册和登录功能。这部分代码比较简单,可以使用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 {
  // 登录失败,用户名或密码错误
}
  1. 创建投票和投票页面

接下来,我们需要创建投票和投票展示的页面。这里使用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处理投票。

  1. 投票处理和结果展示

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 테이블에는 사용자 이름, 비밀번호 등과 같은 사용자 정보가 포함됩니다.

    설문조사 테이블에는 투표 제목, 옵션 등과 같은 투표 정보가 포함되어 있습니다.

    votes 테이블에는 사용자 ID, 투표 ID, 옵션 등 투표 결과 정보가 포함됩니다. 🎜
🎜다음은 데이터베이스 테이블 생성문입니다. 🎜rrreee
    🎜등록 및 로그인 기능🎜🎜🎜온라인 투표 기능을 구현하기 전에 먼저 사용자 등록을 구현해야 합니다. 그리고 로그인 기능. 코드의 이 부분은 비교적 간단하며 PHP의 mysqli 확장을 사용하여 데이터베이스와 상호 작용할 수 있습니다. 🎜🎜다음은 간단한 등록 및 로그인 예시입니다: 🎜rrreee
      🎜투표 및 투표 페이지 만들기🎜🎜🎜다음으로 투표 및 투표 표시 페이지를 만들어야 합니다. 여기서는 HTML과 CSS를 사용하여 투표 페이지를 만들고, PHP를 사용하여 투표 데이터를 처리합니다. 🎜🎜다음은 간단한 투표 페이지의 예입니다. 🎜rrreee🎜여기 투표 페이지에는 투표 제목과 여러 투표 옵션이 포함되어 있습니다. 사용자가 "투표" 버튼을 클릭하면 투표를 처리하기 위해 양식 데이터가 vote.php에 제출됩니다. 🎜
        🎜투표 처리 및 결과 표시🎜🎜🎜vote.php에서 투표 데이터를 처리하고 결과를 데이터베이스에 저장해야 합니다. 🎜🎜다음은 투표 처리 및 결과 표시에 대한 간단한 코드 예시입니다. 🎜rrreee🎜투표 처리 부분에서는 사용자 ID, 투표 ID 및 옵션을 사용하여 새로운 투표 결과를 생성하고 이를 votes테이블. 🎜🎜투표 결과 표시 부분에서는 투표 ID를 기준으로 데이터베이스의 해당 옵션과 투표를 조회하여 표시합니다. 🎜🎜위는 PHP를 이용하여 온라인 투표와 투표 결과 표시를 실시간 채팅 기능으로 구현한 코드 예시입니다. 이 코드를 사용하면 실시간 채팅 및 온라인 투표 기능을 지원하는 웹사이트나 애플리케이션을 만들 수 있습니다. 🎜

위 내용은 PHP를 사용하여 실시간 채팅 기능으로 온라인 투표 및 투표 결과 표시 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.