CSS-Tricks.com发布了一篇很棒的文章,描述了如何使用PHP和MySQL数据库创建民意调查。我遵循了这一点,并为自己创建了一个不错的民意调查。我注意到在评论中提到使用AJAX在同一个页面上显示结果,而不是在一个完全独立的页面上。
我想知道在同一页面上显示PHP民意调查结果的最佳方式是什么?
更新:
答案很简单。事实上,在我看来,CSS Tricks在没有AJAX的情况下进行的民意调查更困难,因为它需要一个数据库。这个没有!
使用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脚本,请参阅完整教程。
您有两个选项:
1) 正如您在问题中建议的那样,使用ajax,当您通过ajax提交投票时,将结果作为响应返回。
2) 在提交投票之前获取结果,如果你想保持在同一页面上,仍然需要通过ajax提交。但是,与其使用ajax来返回结果,因为您在投票之前就有了结果,所以您只需在适当的选择中添加一票,然后使用Javascript/CSS将结果从隐藏更改为显示。