一页上有多个民意调查的流 - 如何插入?

时间:2013-11-26 06:22:09

标签: php mysql forms polling

我有一个显示民意调查流的页面(每个民意调查最多有4个答案选项)。此页面是从数据库动态生成的,因此它会从mysqli_fetch_array中提取每个轮询问题和选项。

我正在努力解决的问题是如何让用户在民意调查中投票。我将每个轮询都作为自己的表单(使用选项的单选按钮)并将其设置为单击其中一个单选按钮时提交表单的位置。问题是,它最终会在页面上提交每个答案选项(我假设因为它来自$ row ['option'])。

实施此类事情的最佳策略是什么?只提交投票的投票?如果可能,想使用ajax。

1 个答案:

答案 0 :(得分:0)

你能用pls显示你的html代码吗?你如何解雇你的click_event?

<强> Ajax的与-jQuery的:

 <!-- in your head-section include jQuery -->
 <head>
  <script src ="//code.jquery.com/jquery-1.10.2.min.js"> </script> 
 </head>
 <!-- your forms -->
 <form>
    <input type="radio" name="radio1" value="foo"> Foo<br>
</form>
<form>
    <input type="radio" name="radio2" value="bar"> Bar<br>
</form>
<form>
    <input type="radio" name="radio3" value="foobar"> Foobar
</form>

<script >
 //wait until document is ready
 $(function() {
   //when these are the only radio-buttons on page you can select all and bind an click-event to it, 
  //else add a class to all radio-buttons and select like: $(".your_class") 
   $(":radio").click(function() {
     //get the url from the action-attribute of the form
     var value = $(this).val(),
         radioName = $(this).attr("name");
     $.ajax({
       type: "POST",
       url: "/your_file.php",//the URL to your php-File
       data: { name: radioName, data: value}
     })
     .done(function( msg ) {
         alert( "Data Saved: " + msg );
     });
   });
 });
</script>

在您的php文件中,您现在可以使用$ _POST ['name']和$ _POST ['data']正常保存POST。 您在此文件中输出的所有内容都将是警报中“msg”的输出(在ajax-request中)。 你也可以输出一个json-string,如:

 echo json_encode(array("error" => TRUE, "text" => "Data could not be saved!"));

然后在你的完成函数中执行:

 if(msg.error)
   alert("ERROR: " + msg.text);
 else
   alert("Your data has been saved :)");