ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して簡単なオンライン投票システムを開発する方法

PHP を使用して簡単なオンライン投票システムを開発する方法

WBOY
WBOYオリジナル
2023-09-24 11:07:571153ブラウズ

PHP を使用して簡単なオンライン投票システムを開発する方法

PHP を使用してシンプルなオンライン投票システムを開発する方法

投票は、学校、企業、社会のいずれにおいても、非常に一般的な活動であり、多くの場合行われます。投票活動。インターネットの発展により、多くの投票活動がオンラインで行えるようになりました。この記事では、PHP を使用して簡単なオンライン投票システムを開発する方法と、具体的なコード例を紹介します。

1. データベース設計

まず、投票関連情報を保存するデータベースを設計する必要があります。投票対象テーブル (vote_subject) と投票オプション テーブル (vote_option) の 2 つのテーブルを設計する必要があるとします。

投票対象テーブルには次のフィールドが含まれている必要があります:

  • 対象 ID (subject_id): 対象の一意の識別子。通常は自動増加する整数です。
  • サブジェクト名 (subject_name): サブジェクトの名前。
  • 作成時刻 (create_time): トピックの作成時刻。

投票オプション テーブルには、次のフィールドが含まれている必要があります。

  • オプション ID (option_id): オプションの一意の識別子。通常は自動増加する整数です。
  • サブジェクト ID (subject_id): オプションが属するサブジェクト ID。
  • オプション名 (option_name): オプションの名前。
  • オプション投票数 (option_count): オプションに対する現在の投票数。

2. 投票トピックを作成する

まず、ユーザーが新しい投票トピックを作成するためのページを作成する必要があります。このページで、ユーザーはトピック名を入力し、フォームを送信できます。

サンプル コード:

<!DOCTYPE html>
<html>
<head>
    <title>创建投票主题</title>
</head>
<body>
    <h1>创建投票主题</h1>
    <form action="create_subject.php" method="post">
        <label for="subject_name">主题名称:</label>
        <input type="text" name="subject_name" id="subject_name" required>
        <br><br>
        <input type="submit" value="创建">
    </form>
</body>
</html>

create_subject.php ファイルでは、ユーザーが送信したフォーム データを受け取り、トピック名を投票トピック テーブルに挿入し、新しいトピックを生成できます。 ID。

サンプルコード:

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "vote_system";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接数据库失败:" . $conn->connect_error);
}

// 接收用户提交的表单数据
$subject_name = $_POST['subject_name'];

// 将主题名称插入投票主题表
$sql = "INSERT INTO vote_subject (subject_name, create_time) VALUES ('$subject_name', NOW())";
if ($conn->query($sql) === TRUE) {
    $subject_id = $conn->insert_id;  // 获取新的主题ID
    echo "创建投票主题成功,主题ID为:" . $subject_id;
} else {
    echo "创建投票主题失败:" . $conn->error;
}

// 关闭数据库连接
$conn->close();
?>

3. 投票オプションの追加

次に、投票オプションを追加するページを作成する必要があります。このページでは、ユーザーはオプション名を入力し、それが属するトピックを選択する必要があります。

サンプル コード:

<!DOCTYPE html>
<html>
<head>
    <title>添加投票选项</title>
</head>
<body>
    <h1>添加投票选项</h1>
    <form action="add_option.php" method="post">
        <label for="option_name">选项名称:</label>
        <input type="text" name="option_name" id="option_name" required>
        <br><br>
        <label for="subject_id">所属主题:</label>
        <select name="subject_id" id="subject_id">
            <?php
            // 查询所有的投票主题
            $sql = "SELECT * FROM vote_subject";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <input type="submit" value="添加">
    </form>
</body>
</html>

add_option.php ファイルでは、ユーザーが送信したフォーム データを受け取り、オプション名とそれが属する件名を投票オプションに挿入できます。テーブル。

サンプルコード:

<?php
// 连接数据库(同上)

// 接收用户提交的表单数据
$option_name = $_POST['option_name'];
$subject_id = $_POST['subject_id'];

// 将选项名称和所属主题插入投票选项表
$sql = "INSERT INTO vote_option (subject_id, option_name, option_count) VALUES ('$subject_id', '$option_name', 0)";
if ($conn->query($sql) === TRUE) {
    echo "添加投票选项成功";
} else {
    echo "添加投票选项失败:" . $conn->error;
}

// 关闭数据库连接(同上)
?>

4. 投票操作

最後に、ユーザーが投票するためのページを作成する必要があります。このページから、ユーザーはトピックを選択し、投票するオプションを選択できます。

サンプル コード:

<!DOCTYPE html>
<html>
<head>
    <title>进行投票</title>
</head>
<body>
    <h1>进行投票</h1>
    <form action="vote.php" method="post">
        <label for="subject_id">选择主题:</label>
        <select name="subject_id" id="subject_id">
            <?php
            // 查询所有的投票主题
            $sql = "SELECT * FROM vote_subject";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <label for="option_id">选择选项:</label>
        <select name="option_id" id="option_id">
            <?php
            // 查询指定主题下的所有选项
            $subject_id = $_POST['subject_id'];
            $sql = "SELECT * FROM vote_option WHERE subject_id = $subject_id";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['option_id'] . ">" . $row['option_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <input type="submit" value="投票">
    </form>
</body>
</html>

vote.php ファイルでは、ユーザーが送信したフォーム データを受信し、選択したテーマとオプションに基づいてオプションの投票数を更新できます。

サンプルコード:

<?php
// 连接数据库(同上)

// 接收用户提交的表单数据
$subject_id = $_POST['subject_id'];
$option_id = $_POST['option_id'];

// 更新选项票数
$sql = "UPDATE vote_option SET option_count = option_count + 1 WHERE option_id = $option_id";
if ($conn->query($sql) === TRUE) {
    echo "投票成功";
} else {
    echo "投票失败:" . $conn->error;
}

// 关闭数据库连接(同上)
?>

5. まとめ

上記の手順により、簡単なオンライン投票システムを実装できました。ユーザーは、投票トピックを作成し、投票オプションを追加し、投票操作を実行することで、投票プロセス全体を完了できます。もちろん、上記のコードは一例であり、実際の開発ではさらに多くの機能やセキュリティを考慮する必要があるかもしれません。

この記事が PHP を初めて使用する開発者にとって役立つことを願っています。また、より興味深く実用的な投票システムを開発できることを願っています。

以上がPHP を使用して簡単なオンライン投票システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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