현재 위치: > 최신 기사 목록> PHP

PHP

M66 2025-06-12

PHP가 구현 한 다각화 된 투표 방법을 갖춘 온라인 투표 시스템

인터넷 시대의 출현으로 사람들의 참여 및 의견 표현에 대한 요구가 점점 강해지고 있습니다. 빠르고 편리한 방법으로 온라인 투표 시스템은 민주적 의사 결정 및 그룹 의견 수집을위한 중요한 도구가되었습니다.

이 기사에서는 PHP 언어를 기반으로 다양한 투표 방법을 지원하는 온라인 투표 시스템을 구현하는 방법을 소개하고 개발자가 자체 투표 플랫폼을 실현할 수 있도록 완전한 코드 예제를 제공합니다.

투표 시스템 요구 사항 분석

온라인 투표 시스템을 설계 할 때 가장 먼저해야 할 일은 시스템의 요구를 명확히하는 것입니다. 간단한 요구 사항 분석은 다음과 같습니다.
  1. 단일 선택, 객관식 및 점수 투표 방법을 지원합니다.

  2. 사용자는 익명으로 투표 할 수 있습니다.

  3. 관리자는 투표 주제를 만들고 옵션을 편집하며 투표 시간을 설정할 수 있습니다.

  4. 시스템은 투표 결과를 실시간으로 계산하고 표시 할 수 있습니다.

데이터베이스 디자인

투표 데이터를 저장하기 위해 MySQL 데이터베이스에서 두 가지 주요 데이터 테이블을 만들었습니다.`vote '테이블은 투표 주제 정보를 저장하는 데 사용되며`옵션'테이블은 투표 옵션을 저장하는 데 사용됩니다.

이 두 테이블의 구조의 예는 다음과 같습니다.

테이블 투표 생성 (
  id int (11) null auto_increment,
  타이틀 Varchar (255) NOL NULL,
  start_time datetime not null,
  end_time dateTime not null,
  기본 키 (ID)
) 엔진 = innodb 기본 charset = utf8;
테이블 옵션 생성 (
  id int (11) null auto_increment,
  vote_id int (11) NOL NULL,
  컨텐츠 텍스트는 null이 아닙니다.
  기본 키 (ID),
  key vote_id (vote_id),
  제약 조건 FK_VOTE_ID 외국 키 (vote_id) 참조 투표 (ID)는 업데이트 캐스케이드에서 삭제 캐스케이드
) 엔진 = innodb 기본 charset = utf8;

프론트 엔드 디자인

프론트 엔드 섹션은 투표 테마를 보여주고 사용자가 투표 옵션을 선택하고 투표 결과를 보여줄 수 있도록 설계되었습니다. 간단한 프론트 엔드 구현 예는 다음과 같습니다.
// 투표 테마 디스플레이 echo "<h2> ". $ 투표 [ &#39;제목&#39;]."</h2> ";

// 옵션 foreach ($ 옵션으로 $ 옵션) {
  에코 "<input type='" . $vote['type'] . "' name='option' value='" . $option['id'] . "'> ". $ 옵션 [ &#39;content&#39;]."<br/> ";
}

// 제출 버튼 에코 "<input type='submit' value="투표를 제출하십시오"> ";

백엔드 구현

백엔드 부분의 주요 작업은 사용자가 제출 한 투표 데이터를 처리하고 투표 결과를 실시간으로 업데이트하는 것입니다. 단순화 된 PHP 코드 예는 다음과 같습니다.
// ($ _Server [ &#39;request_method&#39;] == &#39;post&#39;) if If If If If 투표를 제출합니다.
  $ selectedOption = $ _post [ &#39;옵션&#39;];

  // if ($ vote [ &#39;type&#39;] == &#39;radio&#39;) {handle hand
    // 단일 선택 투표 $ votecount = 1;
  } elseif ($ vote [ &#39;type&#39;] == &#39;checkbox&#39;) {
    // 객관식 투표 $ voteCount = count ($ selectedOption);
  } elseif ($ vote [ &#39;type&#39;] == &#39;rating&#39;) {
    // 투표 $ totalrating = $ _post [ &#39;Total_rating&#39;];
    $ votecount = 1;
  }

  // 투표 통계를 업데이트합니다.
    // 업데이트 작업 수행 : 업데이트 옵션 세트 카운트 = count + 1 여기서 id = $ 옵션 ID
  }
}

쿼리 투표 결과

투표가 끝나면 시스템은 옵션에 대한 투표 수에 따라 각 옵션에 대한 투표율을 계산하고 표시합니다.
// 쿼리 투표 결과 $ 옵션 = $ db-> query ( "옵션에서 옵션에서 vote_id =". $ vote [ &#39;id&#39;])-> fetchall ();
foreach ($ 옵션으로 $ 옵션) {
  $ votepercentage = ($ 옵션 [ &#39;count&#39;] / $ votecount) * 100;
  echo $ 옵션 [ &#39;content&#39;]. ":". ". $ votepercentage. "%<br/> ";
}

요약

위의 코드 예제를 통해 다양한 투표 방법을 지원하는 온라인 투표 시스템을 구축 할 수 있습니다. 이 시스템은 사용자의 투표 요구를 충족시킬 수 있으며 관리자에게 실시간 투표 통계 기능을 제공합니다. 개발자는 실제 요구에 따라 시스템을 추가로 사용자 정의하고 더 많은 투표 옵션과 기능을 추가하여 온라인 투표 시스템을보다 유연하고 실용적으로 만들 수 있습니다.