有一个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.
答案 0 :(得分:1)
您有两种选择:
1)正如您在问题中所建议的那样使用ajax,当您通过ajax提交投票时,将结果作为回复获取。
2)在提交投票之前获取结果,如果你想留在同一页面,它仍然需要通过ajax提交。但是不是使用ajax来取回结果,因为你在投票之前得到了结果,你可以在适当的选择选项中添加一个投票,然后使用Javascript / CSS将结果从隐藏更改为显示。