PHP를 사용하여 온라인 투표 및 여론 조사 기능을 구현하는 방법
현대 사회에서 여론 조사와 온라인 투표는 여론을 얻고 의사 결정을 내리는 중요한 수단이 되었습니다. 웹 개발에 널리 사용되는 프로그래밍 언어인 PHP는 이러한 기능을 달성하기 위한 풍부한 도구와 기능을 제공합니다. 이 기사에서는 PHP를 사용하여 온라인 투표 및 폴링 기능을 구현하는 방법을 소개합니다.
먼저 투표 및 설문조사 관련 데이터를 저장할 데이터베이스를 설계해야 합니다. 설문 제목, 옵션, 각 옵션에 대한 투표 수를 포함한 투표 정보를 저장하기 위해 "polls"라는 테이블을 만들 수 있습니다. 샘플 코드는 다음과 같습니다.
CREATE TABLE polls (
id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, options TEXT NOT NULL, votes TEXT DEFAULT '{"option1":0, "option2":0}'
)
다음으로 현재 사용 가능한 설문조사 및 설문조사 양식을 표시하는 PHP 페이지를 만들 수 있습니다. SELECT 문을 사용하여 데이터베이스에서 설문조사 목록을 가져와 페이지에 표시할 수 있습니다. 샘플 코드는 다음과 같습니다.
//데이터베이스에 연결
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database ";
$ conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 설문조사 목록 가져오기
$sql = "SELECT * FROM polls" ;
$result = $conn->query($sql);
// 설문조사 목록 및 투표 양식 표시
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>"; }
} else {
echo "暂无可用的调查。";
}
$conn->close();
?>
사용자가 투표 양식을 제출하면 투표 요청을 처리하고 데이터베이스의 투표 카운터를 업데이트합니다. 샘플 코드는 다음과 같습니다.
// 투표 옵션 및 설문조사 ID 가져오기
$option = $_POST["option"];
$poll_id = $_POST["poll_id"];
// 데이터베이스에 연결
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname );
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 현재 투표 정보 가져오기
$sql = "SELECT * FROM polls WHERE id = $poll_id";
$result = $conn-> 쿼리($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();
?>
마지막으로 투표 결과를 표시할 PHP 페이지를 만들어야 합니다. SELECT 문을 사용하여 데이터베이스에서 투표 정보를 가져와 페이지에 표시할 수 있습니다. 샘플 코드는 다음과 같습니다.
//데이터베이스에 연결
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database ";
$ conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 투표 정보 가져오기
$sql = " SELECT * FROM polls" ;
$result = $conn->query($sql);
// 투표 결과 표시
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>"; } }
} else {
echo "暂无可用的调查。";
}
$conn ->close();
?>
위 단계를 통해 PHP를 사용하여 온라인 투표 및 투표 기능을 구현할 수 있습니다. 특정 프로젝트의 요구 사항을 충족하기 위해 확인, 권한 제어 및 기타 기능을 추가하는 등 필요에 따라 확장하고 사용자 정의할 수 있습니다.
이 기사가 도움이 되기를 바랍니다!
위 내용은 PHP를 사용하여 온라인 투표 및 폴링 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!