Php ajax民意调查系统有多个答案

时间:2017-05-10 07:36:18

标签: javascript php jquery mysql ajax

我正在尝试使用php,mysql和ajax制作一个民意调查系统。我已经从数据库创建了poll表。

id
answer
vote

我希望用户增加答案,我创建了一个简单的javascript函数,例如 DEMO

<div class="inputsl">
   <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div>
   <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div>
   <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div>
   <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div>
</div>

我还创建了用于插入答案的ajax函数

$("body").on("click",".insertp", function(){
       var poll = $("#createPoll").val();
       var dataPoll = 'poll=' + poll;
       $.ajax({
           type:'POST',
           url:'/requests/postPoll',
           data: dataPoll,
           cache: false,
           beforeSend: function(){},
           sucess: function(){
               console.log("Success!");
           }   
        });
     });

和postPoll.php函数

<?php 
include_once '../inc/inc.php';
if(isset($_POST['poll'])){
    $poll = mysqli_real_escape_string($db, $_POST['poll']);
    if($poll){
foreach($poll as  $setPoll){
      $insertPollfromData = $InSert->Insert_Poll($uid, $setPoll);
    }
    }
}
?>

现在,我想从民意调查表中插入多个答案,但我的postPoll.php给了我这个错误:

  

警告:为

中的foreach()提供的参数无效

如何从数据库插入多个轮询?有人可以帮我吗? 非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

在你的HTML中我建议您使用<form>并为其添加输入。然后你可以使用https://api.jquery.com/serialize/

通过ajax将所有输入的序列化数据发送到PHP文件。

答案 1 :(得分:0)

mysqli_real_escape_string返回一个字符串

foreach需要一个数组作为参数进行迭代。

您需要将 poll 作为数组发布到PHP脚本中,并为每个数组成员执行mysqli_real_escape_string。