인터넷의 지속적인 개발로 온라인 투표 기능은 점차 다양한 웹 사이트 및 플랫폼에서 중요한 대화식 방법이되었습니다. PHP 언어를 사용하여 사용자 투표, 결과 통계 및 관리자 관리 기능을 지원하는 기본 투표 시스템을 신속하게 구현할 수 있습니다. 이 기사에서는 데이터베이스 디자인에서 코드 구현에 이르기까지 투표 시스템의 구성 프로세스를 보여줍니다.
이 투표 시스템에는 주로 다음 기능이 포함됩니다.
위의 기능을 지원하려면 다음 데이터 테이블을 설계해야합니다.
투표 시스템을위한 주요 PHP 구현의 예는 다음과 같습니다.
데이터베이스에 연결 :
<?php $host = 'localhost'; $db = 'vote_system'; $user = 'root'; $pass = ''; $conn = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass); ?>
쿼리 투표 주제 및 옵션 :
<?php $sql = 'SELECT * FROM vote_subjects'; $stmt = $conn->쿼리 ($ SQL); $ direds = $ stmt-> fetchall (pdo :: fetch_assoc); foreach ($ 주제 $ 주제) { echo $ 주제 [ 'title']. '<br> ';; $ district_id = $ dired [ 'id']; $ sql = "vote_options에서 gourde_id = $ giver_id에서 선택 * 선택 *; $ stmt = $ conn-> query ($ sql); $ 옵션 = $ stmt-> fetchall (pdo :: fetch_assoc); foreach ($ 옵션으로 $ 옵션) { echo $ 옵션 [ 'Option_Name']. ':'. $ 옵션 [ '투표']. '투표<br> ';; } } ?>
투표 로직 :
<?php $subject_id = $_POST['subject_id']; $option_id = $_POST['option_id']; $ip_address = $_SERVER['REMOTE_ADDR']; $sql = "SELECT COUNT(*) FROM votes WHERE option_id = $option_id AND ip_address = '$ip_address'"; $stmt = $conn-> 쿼리 ($ SQL); $ count = $ stmt-> fetchcolumn (); if ($ count> 0) { 에코 '당신은 투표했습니다! ';; } 또 다른 { $ sql = "vote_options update vote_options set votes = votes + 1 여기서 id = $ option_id"; $ conn-> exec ($ sql); $ sql = "투표에 삽입 (옵션_id, ip_address) 값 ($ 옵션_id, '$ ip_address')"; $ conn-> exec ($ sql); Echo '투표는 성공했습니다! ';; } ?>
관리자 기능 예 :
<?php // 투표 주제를 만듭니다 $title = $_POST['title']; $sql = "INSERT INTO vote_subjects (title) VALUES ('$title')"; $conn-> exec ($ sql); // 투표 옵션 생성 $ distring_id = $ _post [ 'istroud_id']; $ 옵션 _name = $ _post [ '옵션_name']; $ sql = "vote_options에 삽입 (istod_id, option_name, votes) 값 ($ distric_id, '$ 옵션 _name', 0)"; $ conn-> exec ($ sql); // 투표 옵션 편집 $ id = $ _post [ 'id']; $ 옵션 _name = $ _post [ '옵션_name']; $ sql = "update vote_options set option_name = '$ 옵션_name'여기서 id = $ id"; $ conn-> exec ($ sql); // 투표 옵션을 삭제합니다 $ id = $ _post [ 'id']; $ sql = "vote_options에서 삭제 된 id = $ id"; $ conn-> exec ($ sql); ?>
이 기사에서는 PHP, 데이터베이스 구조, 사용자 투표 논리 및 관리자 운영 예제를 다루는 간단한 투표 시스템의 구현 프로세스를 보여줍니다. 이 시스템은 기본적인 투표 요구를 충족시킬 수 있지만 실제 응용 프로그램에서는 실제 시나리오에 더 잘 적용하기 위해 보안 (예 : SQL 주입 보호 및 프론트 엔드 디스플레이 최적화를 추가해야합니다.