2013-08-28 1 views
0

PHP와 MySQL 데이터베이스를 사용하여 폴을 작성하는 방법을 설명하는 great article posted by CSS-Tricks.com이있었습니다. 나는 이것을 따라하고 나 자신을 위해 훌륭한 설문 조사를 만들었다. 나는 코멘트에서 AJAX를 사용하여 완전히 별도의 페이지가 아닌 같은 페이지에 결과를 표시하는 것에 주목했습니다.PHP 투표 결과가 같은 페이지에

동일한 페이지에 PHP 설문 조사 결과를 표시하는 가장 좋은 방법은 무엇입니까?

업데이트 :

답변은 정말 간단합니다. 사실, AJAX가없는 CSS-Tricks의 설문 조사는 데이터베이스가 필요하기 때문에 더 어렵습니다. 이 하나가하지 않습니다!

PHP와 AJAX와 설문 조사를 만들기위한 완전한 튜토리얼은 여기에서 볼 수있다 :

http://www.w3schools.com/php/php_ajax_poll.asp

난 그냥 두 개 이상의 설문 ​​조사 옵션의 배열을 설정하는 방법을 명확히하고 싶었다. 먼저 "데이터베이스"(즉, MySql이 아닌 텍스트 파일)를 얻습니다.

//get content of textfile 
$filename = "poll_result.txt"; 
$content = file($filename); 

은 그럼 당신은 배열의 데이터를 넣어 :

//put content in array 
$array = explode("||", $content[0]); 
$yes = $array[0]; 
$no = $array[1]; 

//if multiple options 
$array = explode("||", $content[0]); 
$option1array = $array[0]; //note: these values can be text values also. If text value, nothing changes with this part of the code. 
$option2array = $array[1]; 
$option3array = $array[2]; 
$option4array = $array[3]; 

데이터 저장을 "데이터베이스"그럼

if ($vote == 'option1') 
    { 
    $option1array = $option1array + 1; 
    } 
if ($vote == 'option2') 
    { 
    $option2array = $option2array + 1; 
    } 
if ($vote == 'option3') 
    { 
    $option3array = $option3array + 1; 
    } 
if ($vote == 'option4') 
    { 
    $option4array = $option4array + 1; 
    } 

, 출력 결과에.

1), 당신은 귀하의 질문에 제시된 것처럼 Ajax를 사용하여 당신이 아약스를 통해 투표를 제출할 때, 다시 응답으로 결과를 얻을 : 파일 구조 및 AJAX 스크립트, see the complete tutorial.

답변

1

를 들어 당신은 두 가지 옵션이 있습니다.

2) 투표가 제출되기 전에 결과를 얻으십시오. 동일한 페이지에 머물고 싶다면 아약스를 통해 제출해야합니다. 그러나 아약스를 사용하여 결과를 다시 얻는 대신 투표 전에 결과를 얻었으므로 적절한 선택 항목에 투표를 한 번 더 추가 한 다음 Javascript/CSS를 사용하여 결과를 숨김에서 표시로 변경할 수 있습니다.

+0

흠, 옵션 하나가 더 쉬울 것으로 보이지만 나는 옵션 2를 선호한다고 생각합니다. 왜? –

+0

옵션 1을 사용 하겠지만 질문에서 누군가가 이미 AJAX를 권장한다고 말한 것은 다른 솔루션을 찾고있는 것처럼 보였습니다. 옵션 2에는 구멍이 있습니다. 다른 사람이 당신이 페이지에 갈 때 투표를하고 투표를 제출하면 투표 결과가 보이지 않습니다. – Pitchinnate

+0

AJAX를 넘어서서 옵션을 찾고있는 것이 아니라, 동일한 페이지 결과를 얻기 위해 AJAX를 사용하여 설문 조사를 구현하는 방법을 알지 못했습니다. –