


PHP melaksanakan fungsi undian soalan dalam laman web soalan dan jawapan pengetahuan.
PHP melaksanakan fungsi pengundian soalan dalam laman web Soal Jawab
Dengan populariti telefon pintar dan Internet, laman web Soal Jawab telah menjadi platform penting untuk orang ramai mendapatkan maklumat dan berkongsi pengetahuan. Ciri biasa dalam tapak Soal Jawab ini ialah pengundian soalan. Pengguna boleh menilai kepentingan dan kualiti soalan dengan mengundi, dengan itu membantu pengguna lain menyaring dengan lebih baik dan mencari soalan yang berharga.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengundian soalan mudah. Kami akan menggunakan pangkalan data MySQL untuk menyimpan data soalan dan tinjauan pendapat, dan HTML dan CSS untuk membina halaman hadapan.
Pertama, kita perlu mencipta pangkalan data untuk menyimpan soalan dan data pengundian. Katakan pangkalan data kami dipanggil "qavote" dan mengandungi dua jadual "soalan" dan "undi". Berikut ialah definisi jadual:
CREATE TABLE questions ( id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, content TEXT NOT NULL ); CREATE TABLE votes ( id INT(11) AUTO_INCREMENT PRIMARY KEY, question_id INT(11) NOT NULL, vote_count INT(11) NOT NULL DEFAULT 0, FOREIGN KEY (question_id) REFERENCES questions(id) );
Seterusnya, kita perlu membuat halaman PHP untuk mengendalikan pengundian soalan. Kita boleh menamakan halaman ini "vote.php". Berikut ialah contoh kod dari halaman vote.php:
<?php // 连接数据库 $conn = new mysqli("localhost", "username", "password", "qavote"); // 检查数据库连接是否成功 if ($conn->connect_error) { die("数据库连接失败: " . $conn->connect_error); } // 检查是否传入了 question_id 和 action 参数 if (isset($_GET["question_id"]) && isset($_GET["action"])) { $question_id = $_GET["question_id"]; $action = $_GET["action"]; // 根据 action 参数执行相应的操作 if ($action == "upvote") { // 更新问题的投票数 $sql = "UPDATE votes SET vote_count = vote_count + 1 WHERE question_id = " . $question_id; $conn->query($sql); } elseif ($action == "downvote") { // 更新问题的投票数 $sql = "UPDATE votes SET vote_count = vote_count - 1 WHERE question_id = " . $question_id; $conn->query($sql); } } // 关闭数据库连接 $conn->close(); ?>
Dalam vote.php kita mula-mula menyambung ke pangkalan data dan kemudian menyemak sama ada question_id dan parameter tindakan telah diluluskan. Berdasarkan nilai parameter tindakan, kami mengemas kini bilangan undian untuk soalan yang sepadan. Akhirnya, kami menutup sambungan pangkalan data. Ambil perhatian bahawa untuk memudahkan contoh, kami tidak melakukan pengesahan input dan keselamatan. Dalam aplikasi praktikal, ini adalah perlu.
Akhir sekali, kita perlu membuat halaman HTML yang memaparkan soalan dan keputusan pengundian. Berikut ialah contoh mudah:
<!DOCTYPE html> <html> <head> <title>问题投票</title> <style> .question { margin-bottom: 20px; } </style> </head> <body> <?php // 连接数据库 $conn = new mysqli("localhost", "username", "password", "qavote"); // 检查数据库连接是否成功 if ($conn->connect_error) { die("数据库连接失败: " . $conn->connect_error); } // 查询问题和投票数 $sql = "SELECT questions.id, questions.title, questions.content, votes.vote_count FROM questions LEFT JOIN votes ON questions.id = votes.question_id"; $result = $conn->query($sql); // 循环输出问题和投票结果 if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<div class='question'>"; echo "<h3>" . $row["title"] . "</h3>"; echo "<p>" . $row["content"] . "</p>"; echo "<p>投票数: " . $row["vote_count"] . "</p>"; echo "<a href='vote.php?question_id=" . $row["id"] . "&action=upvote'>赞同</a>"; echo "<a href='vote.php?question_id=" . $row["id"] . "&action=downvote'>反对</a>"; echo "</div>"; } } else { echo "暂无问题"; } // 关闭数据库连接 $conn->close(); ?> </body> </html>
Dalam halaman HTML di atas, kami mula-mula menyambung ke pangkalan data, kemudian menanyakan bilangan soalan dan undian, dan mengeluarkan soalan dan keputusan pengundian berdasarkan keputusan pertanyaan. Untuk setiap soalan, kami menyediakan pautan "thumbs up" dan "thumbs down" yang pengguna boleh klik untuk mengundi. Dalam aplikasi praktikal, kami boleh mengawal kebenaran mengundi berdasarkan status log masuk pengguna.
Ringkasan:
Dalam artikel ini, kami mempelajari cara menggunakan PHP dan MySQL untuk melaksanakan fungsi pengundian soalan dalam laman web Soal Jawab pengetahuan. Kami mencipta pangkalan data untuk menyimpan soalan dan data tinjauan pendapat dan menulis halaman PHP dan halaman HTML yang sepadan. Walaupun ini hanyalah contoh mudah, ia boleh memberikan titik permulaan yang baik untuk anda membina tapak web Soal Jawab yang lebih lengkap dan kompleks. Harap artikel ini dapat membantu anda!
Atas ialah kandungan terperinci PHP melaksanakan fungsi undian soalan dalam laman web soalan dan jawapan pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
