開發抽獎功能前,需要先創建一個MySQL數據庫,用於存儲獎品信息、參與用戶數據等。可以使用以下SQL命令創建數據庫和數據表:
CREATE DATABASE lottery_db; USE lottery_db; CREATE TABLE prizes ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL ); CREATE TABLE participants ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); CREATE TABLE winners ( id INT AUTO_INCREMENT PRIMARY KEY, prize_id INT, participant_id INT, FOREIGN KEY (prize_id) REFERENCES prizes(id), FOREIGN KEY (participant_id) REFERENCES participants(id) );
$servername = "localhost"; $username = "username"; $password = "password"; $dbname = "lottery_db"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
$sql = "SELECT * FROM prizes"; $result = $conn->query($sql); while($row = $result->fetch_assoc()) { echo "Prize: " . $row["name"] . "<br> "; }
if(isset($_POST['submit'])) { $name = $_POST['name']; $email = $_POST['email']; $sql = "INSERT INTO participants (name, email) VALUES ('$name', '$email')"; $conn->query($sql); }
$random_prize_sql = "SELECT * FROM prizes ORDER BY RAND() LIMIT 1"; $random_prize_result = $conn->query($random_prize_sql); $random_prize = $random_prize_result->fetch_assoc(); $random_participant_sql = "SELECT * FROM participants ORDER BY RAND() LIMIT 1"; $random_participant_result = $conn->query($random_participant_sql); $random_participant = $random_participant_result->fetch_assoc(); $sql = "INSERT INTO winners (prize_id, participant_id) VALUES ('" . $random_prize['id'] . "', '" . $random_participant['id'] . "')"; $conn->query($sql); echo "Congratulations! Prize: " . $random_prize['name'] . " Winner: " . $random_participant['name'];
根據需求設計前端頁面,展示獎品列表和參與抽獎的表單,並通過表單提交與後端PHP代碼交互實現抽獎功能。
通過以上步驟和示例代碼,我們實現了一個完整的PHP抽獎功能。在實際項目中,可以根據需求添加更多抽獎規則、優化數據庫結構和界面設計,讓抽獎功能更完善,更具吸引力。希望本文能幫助開發者輕鬆搭建PHP抽獎系統。