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:
Jadual pilihan mengundi perlu mengandungi medan berikut:
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>
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(); ?>
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>
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; } // 关闭数据库连接(同上) ?>
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>
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; } // 关闭数据库连接(同上) ?>
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!