PHP轮询与同一页面上的结果

时间:2013-08-28 13:09:18

标签: php ajax ajax-polling

有一个great article posted by CSS-Tricks.com描述了如何使用PHP和MySQL数据库创建一个民意调查。我跟着这个,为自己创造了一个很好的民意调查。我在评论中注意到提到使用AJAX在同一页面上显示结果而不是完全独立的页面。

我想知道在同一页面上显示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;
  }

然后,输出结果。对于文件结构和AJAX脚本,see the complete tutorial.

1 个答案:

答案 0 :(得分:1)

您有两种选择:

1)正如您在问题中所建议的那样使用ajax,当您通过ajax提交投票时,将结果作为回复获取。

2)在提交投票之前获取结果,如果你想留在同一页面,它仍然需要通过ajax提交。但是不是使用ajax来取回结果,因为你在投票之前得到了结果,你可以在适当的选择选项中添加一个投票,然后使用Javascript / CSS将结果从隐藏更改为显示。