Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan fungsi pengundian dan pengundian dalam talian

Cara menggunakan PHP untuk melaksanakan fungsi pengundian dan pengundian dalam talian

PHPz
PHPzasal
2023-09-05 10:46:54863semak imbas

如何使用 PHP 实现在线投票和民意调查功能

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.

  1. Reka Bentuk Pangkalan Data

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}'

);

  1. Tunjukkan borang tinjauan dan undian🎜#🎜 ##🎜 🎜#
  2. Seterusnya, kami boleh membuat halaman PHP untuk memaparkan borang tinjauan dan undian yang tersedia pada masa ini. Kita boleh menggunakan pernyataan SELECT untuk mendapatkan senarai tinjauan daripada pangkalan data dan memaparkannya pada halaman. Kod sampel adalah seperti berikut:

0071ecad86200cf5451b5c00ea3c6568connect_error) {

die("连接失败: " . $conn->connect_error);

}

// Dapatkan senarai tinjauan

$sql = "PILIH * DARI tinjauan pendapat" ;

$result = $conn->query($sql);

// Paparkan senarai tinjauan dan borang undian

if ($result->num_rows > 0 ) {#🎜🎜 #
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:

    89d1dfc0b91db9e79396d934951b3efaconnect_error) {
    die("连接失败: " . $conn->connect_error);

    }
    // Dapatkan maklumat pengundian semasa

    $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();
    ?>

    #🎜#Sho🎜 keputusan voting 🎜##🎜 🎜#

    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:

    3f9e44ba1cb79596914172e69b887f20connect_error) {

    die("连接失败: " . $conn->connect_error);

    }


    // Dapatkan maklumat mengundi
    $sql = "PILIH * DARI tinjauan pendapat" ;
    $result = $conn->query($sql);

    // Paparkan keputusan pengundian

    if ($result->num_rows > 0) {# 🎜🎜#
    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>";
        }
    }
    # 🎜🎜#} lain {

    echo "暂无可用的调查。";

    }

    $conn->close();

    ?>

    ?>#🎜🎜🎜🎜🎜🎜 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!

Kenyataan:
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