Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP

WBOY
Lepaskan: 2023-09-24 11:48:01
asal
1182 orang telah melayarinya

Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP

Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP

Pengundian adalah aktiviti yang sangat biasa, sama ada di sekolah, syarikat atau masyarakat, pelbagai aktiviti pengundian sering dianjurkan. Dengan perkembangan Internet, banyak aktiviti pengundian kini boleh dijalankan secara dalam talian. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan sistem pengundian dalam talian yang mudah dan menyediakan contoh kod khusus.

1. Reka bentuk pangkalan data

Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan maklumat berkaitan pengundian. Katakan kita perlu mereka bentuk dua jadual: jadual subjek undian (subjek_undi) dan jadual pilihan undian (pilihan_undi).

Jadual subjek undian perlu mengandungi medan berikut:

  • ID Subjek (subject_id): pengecam unik subjek, biasanya integer yang meningkat secara automatik.
  • Subject_name: Nama subjek.
  • Masa penciptaan (masa_buat): Masa penciptaan tema.

Jadual pilihan mengundi perlu mengandungi medan berikut:

  • ID Pilihan (option_id): Pengecam unik pilihan, biasanya integer kenaikan automatik.
  • ID Subjek (subject_id): ID subjek yang mempunyai pilihan.
  • Nama pilihan (nama_pilihan): Nama pilihan.
  • Undian pilihan (option_count): Bilangan undian semasa untuk pilihan.

2. Buat topik undian

Pertama, kita perlu mencipta halaman untuk pengguna mencipta topik pengundian baharu. Pada halaman ini, pengguna boleh memasukkan nama topik dan menyerahkan borang.

Kod contoh:

<!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>
Salin selepas log masuk

Dalam fail create_subject.php, kami boleh menerima data borang yang dihantar oleh pengguna, kemudian masukkan nama subjek ke dalam jadual subjek undian dan jana ID subjek baharu.

Kod contoh:

<?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();
?>
Salin selepas log masuk

3. Tambah pilihan mengundi

Seterusnya, kita perlu membuat halaman untuk menambah pilihan mengundi. Dalam halaman ini, pengguna perlu memasukkan nama pilihan dan memilih topik yang sesuai.

Kod contoh:

<!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>
Salin selepas log masuk

Dalam fail add_option.php, kami boleh menerima data borang yang diserahkan oleh pengguna, dan kemudian memasukkan nama pilihan dan topik yang dimilikinya ke dalam jadual pilihan mengundi.

Contoh kod:

<?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;
}

// 关闭数据库连接(同上)
?>
Salin selepas log masuk

4 Operasi mengundi

Akhir sekali, kami perlu membuat halaman untuk pengguna mengundi. Dari halaman ini, pengguna boleh memilih topik dan kemudian memilih pilihan untuk mengundi.

Kod contoh:

<!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>
Salin selepas log masuk

Dalam fail vote.php, kami boleh menerima data borang yang dihantar oleh pengguna dan kemudian mengemas kini undian pilihan berdasarkan tema dan pilihan yang dipilih.

Contoh kod:

<?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;
}

// 关闭数据库连接(同上)
?>
Salin selepas log masuk

5. Rumusan

Melalui langkah di atas, kami telah melaksanakan sistem pengundian dalam talian yang mudah. Pengguna boleh melengkapkan keseluruhan proses pengundian dengan mencipta topik pengundian, menambah pilihan pengundian dan melaksanakan operasi pengundian. Sudah tentu, kod di atas hanyalah satu contoh, dan pembangunan sebenar mungkin memerlukan lebih banyak fungsi dan keselamatan untuk dipertimbangkan.

Saya harap artikel ini dapat membantu pembangun yang baru menggunakan PHP, dan saya harap anda boleh membangunkan sistem pengundian yang lebih menarik dan praktikal!

Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem pengundian dalam talian yang mudah menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!