>  기사  >  백엔드 개발  >  PHP 및 AJAX를 사용하여 구현된 동적 온라인 투표 시스템

PHP 및 AJAX를 사용하여 구현된 동적 온라인 투표 시스템

WBOY
WBOY원래의
2023-08-09 19:01:431080검색

PHP 및 AJAX를 사용하여 구현된 동적 온라인 투표 시스템

PHP 및 AJAX를 사용하여 구현된 동적 온라인 투표 시스템

소개:
인터넷이 발전하면서 점점 더 많은 활동이 사용자 의견과 선택을 수집하기 위해 온라인 투표 시스템에 의존하기 시작했습니다. 이 기사에서는 PHP와 AJAX를 사용하여 간단한 동적 온라인 투표 시스템을 구현하는 방법을 소개합니다. 이 시스템을 통해 사용자는 투표 옵션을 선택하고 투표 결과를 즉시 확인할 수 있습니다.

  1. 데이터베이스 및 데이터 테이블 구축
    먼저 MySQL 데이터베이스를 생성하고 그 안에 투표 옵션 및 투표 결과와 관련된 데이터를 저장할 데이터 테이블을 생성해야 합니다. 다음 SQL 문을 사용하여 "vote"라는 데이터 테이블을 생성할 수 있습니다:

CREATE DATABASE vote;

USE vote;

CREATE TABLE options (

id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
votes INT(11) NOT NULL,
PRIMARY KEY (id)

);

  1. 투표 페이지 생성
    투표 페이지에서는 AJAX를 통해 투표를 클릭한 후 즉시 투표 옵션을 표시하고 투표 결과를 업데이트해야 합니다. 다음은 간단한 투표 페이지에 대한 HTML 코드의 예입니다.



<title>动态在线投票系统</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
    $(document).ready(function(){
        $(".vote-button").click(function(){
            var optionId = $(this).data("option-id");
            $.ajax({
                url: "vote.php",
                method: "POST",
                data: {optionId: optionId},
                success: function(response){
                    $("#result-container").html(response);
                }
            });
        });
    });
</script>


<h1>动态在线投票系统</h1>
<div id="options-container">
    <?php
        // 连接数据库
        $conn = new mysqli("localhost", "username", "password", "vote");
        if ($conn->connect_error) {
            die("连接数据库失败: " . $conn->connect_error);
        }
        
        // 查询投票选项
        $sql = "SELECT * FROM options";
        $result = $conn->query($sql);
        
        // 输出投票选项
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo '<div class="option">
                        <span class="option-name">' . $row["name"] . '</span>
                        <button class="vote-button" data-option-id="' . $row["id"] . '">投票</button>
                    </div>';
            }
        } else {
            echo "暂无投票选项";
        }
        
        $conn->close();
    ?>
</div>
<div id="result-container">
    <!-- 投票结果将在这里显示 -->
</div>


  1. 투표 요청을 처리하는 PHP 스크립트 만들기
    사용자의 투표 요청을 처리하고 해당 옵션의 투표 결과를 업데이트하려면 "vote.php"라는 PHP 스크립트를 만들어야 합니다. 데이터베이스. 다음은 간단한 "vote.php" 코드 예입니다.

if(isset($_POST["optionId"])){
    // 连接数据库
    $conn = new mysqli("localhost", "username", "password", "vote");
    if ($conn->connect_error) {
        die("连接数据库失败: " . $conn->connect_error);
    }
    
    // 获取选项ID和更新投票结果
    $optionId = $_POST["optionId"];
    $sql = "UPDATE options SET votes = votes + 1 WHERE id = $optionId";
    $conn->query($sql);
    
    // 查询更新后的投票结果
    $sql = "SELECT * FROM options";
    $result = $conn->query($sql);
    
    // 输出投票结果
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo '<div class="result">
                    <span class="option-name">' . $row["name"] . '</span>
                    <span class="option-votes">' . $row["votes"] . ' 票</span>
                </div>';
        }
    } else {
        echo "暂无投票结果";
    }
    
    $conn->close();
}

?>

요약:
위의 코드 예를 사용하면 간단한 동적 온라인 투표 시스템을 구현할 수 있습니다. 사용자는 투표 옵션을 선택하고 투표 결과를 즉시 볼 수 있습니다. 이 시스템은 다양한 활동의 ​​투표 요구에 쉽게 적용될 수 있습니다. 동시에 다양한 투표 통계 차트, 투표 시간 제한 및 기타 기능을 추가하는 등 실제 필요에 따라 확장하고 최적화할 수도 있습니다. 이 글이 여러분의 역동적인 온라인 투표 시스템을 이해하고 실천하는 데 도움이 되기를 바랍니다.

위 내용은 PHP 및 AJAX를 사용하여 구현된 동적 온라인 투표 시스템의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.