我正在尝试使用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()提供的参数无效
如何从数据库插入多个轮询?有人可以帮我吗? 非常感谢您的帮助。
答案 0 :(得分:1)
在你的HTML中我建议您使用<form>
并为其添加输入。然后你可以使用https://api.jquery.com/serialize/
通过ajax将所有输入的序列化数据发送到PHP文件。
答案 1 :(得分:0)
mysqli_real_escape_string返回一个字符串
foreach需要一个数组作为参数进行迭代。
您需要将 poll 作为数组发布到PHP脚本中,并为每个数组成员执行mysqli_real_escape_string。