ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使用してオンライン投票とリアルタイムチャット機能による投票結果表示を実装

PHPを使用してオンライン投票とリアルタイムチャット機能による投票結果表示を実装

王林
王林オリジナル
2023-08-14 09:13:241345ブラウズ

PHPを使用してオンライン投票とリアルタイムチャット機能による投票結果表示を実装

PHP を使用して、リアルタイム チャット機能を備えたオンライン投票と投票結果表示を実装します。

インターネットの発展に伴い、Web サイトやアプリケーションが増加し始めています。リアルタイムチャット機能を提供します。オンライン投票も一般的な機能で、さまざまなイベント、選挙、意思決定プロセスで使用できます。この記事では、PHPを使用してリアルタイムチャット機能を備えたネット投票を実装し、投票結果をリアルタイムに表示する方法を紹介します。

  1. データベース設定

まず、投票関連データを保存するデータベースを作成する必要があります。 MySQL またはその他のリレーショナル データベースを使用できます。 「polls」という名前のデータベースを作成し、その中に userspollsvotes という 3 つのテーブルを作成するとします。

  • 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 テーブルに保存します。

投票結果表示部分では、投票IDをもとにデータベース内の該当する選択肢と投票を問い合わせて表示します。

上記は、PHPを使用してオンライン投票とリアルタイムチャット機能による投票結果表示を実装するコード例です。これらのコードを使用すると、ライブ チャットとオンライン投票機能をサポートする Web サイトまたはアプリケーションを作成できます。

以上がPHPを使用してオンライン投票とリアルタイムチャット機能による投票結果表示を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。