Cara menggunakan PHP untuk melaksanakan fungsi pengundian dan pengundian dalam talian
Dalam masyarakat moden, tinjauan pendapat dan pengundian dalam talian telah menjadi cara penting untuk mendapatkan pendapat umum dan cara penting untuk membuat keputusan. Sebagai bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web, PHP membekalkan kita dengan pelbagai alatan dan fungsi untuk mencapai fungsi tersebut. Artikel ini akan memperkenalkan anda kepada cara menggunakan PHP untuk melaksanakan fungsi pengundian dan pengundian dalam talian.
Pertama sekali, kita perlu mereka bentuk pangkalan data untuk menyimpan data berkaitan undian dan tinjauan. Kita boleh membuat jadual yang dipanggil "pungutan suara" untuk menyimpan maklumat pengundian, termasuk tajuk tinjauan pendapat, pilihan dan bilangan undian bagi setiap pilihan. Kod contoh adalah seperti berikut:
CREATE JADUAL tinjauan pendapat (
id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, options TEXT NOT NULL, votes TEXT DEFAULT '{"option1":0, "option2":0}'
);
// Sambung ke pangkalan data
$servername = "localhost";
$username = "username" ;
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
die("连接失败: " . $conn->connect_error);
// Dapatkan senarai tinjauan
$sql = "PILIH * DARI tinjauan pendapat" ; $result = $conn->query($sql);
// Paparkan senarai tinjauan dan borang undian
while($row = $result->fetch_assoc()) { echo "<h2>".$row["title"]."</h2>"; $options = json_decode($row["options"]); echo "<form action="vote.php" method="POST">"; foreach ($options as $option) { echo "<input type="radio" name="option" value="$option">$option<br>"; } echo "<input type="hidden" name="poll_id" value="".$row["id"]."">"; echo "<input type="submit" value="投票">"; echo "</form>"; }
} lain {
echo "暂无可用的调查。";
$conn->close();
?>###🎜🎜 🎜##🎜🎜 #Mengendalikan permintaan pengundian
Apabila pengguna menyerahkan borang undian, kami perlu mencipta skrip PHP untuk mengendalikan permintaan pengundian dan mengemas kini kaunter undian dalam pangkalan data. Kod sampel adalah seperti berikut:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn- >connect_error) {
die("连接失败: " . $conn->connect_error);
$sql = "PILIH * DARI tinjauan pendapat DI MANA id = $poll_id ";#🎜 🎜#$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc(); $votes = json_decode($row["votes"], true); // 更新投票计数器 $votes[$option]++; $votes_json = json_encode($votes); // 更新数据库中的投票信息 $sql = "UPDATE polls SET votes = '$votes_json' WHERE id = $poll_id"; if ($conn->query($sql) === TRUE) { echo "投票成功!"; } else { echo "投票失败: " . $conn->error; }
} else {# 🎜🎜#
echo "调查不存在。";
$conn->close();
?>
Akhir sekali, kita perlu mencipta halaman PHP untuk memaparkan keputusan pengundian. Kita boleh menggunakan pernyataan SELECT untuk mendapatkan maklumat pengundian daripada pangkalan data dan memaparkannya pada halaman. Kod sampel adalah seperti berikut:
// Sambung ke pangkalan data
$servername = "localhost";
$username = "username" ;
die("连接失败: " . $conn->connect_error);
// Dapatkan maklumat mengundi
$sql = "PILIH * DARI tinjauan pendapat" ;
$result = $conn->query($sql);
// Paparkan keputusan pengundian
while($row = $result->fetch_assoc()) { echo "<h2>".$row["title"]."</h2>"; $votes = json_decode($row["votes"], true); $total_votes = array_sum($votes); foreach ($votes as $option => $vote_count) { $percentage = ($vote_count / $total_votes) * 100; echo "<p>$option : $vote_count 票 ($percentage%)</p>"; } }
echo "暂无可用的调查。";
?>
?>#🎜🎜🎜🎜🎜🎜 langkah di atas, kami akan Mengundi dalam talian dan fungsi pengundian boleh dilaksanakan menggunakan PHP. Anda boleh mengembangkan dan menyesuaikannya mengikut keperluan anda, seperti menambah pengesahan, kawalan kebenaran dan fungsi lain untuk memenuhi keperluan projek tertentu.
Saya harap artikel ini akan membantu anda!
Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan fungsi pengundian dan pengundian dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!