我的js文件中有一个数组,当用户选择了他喜欢的座位后,数组中的数据创建就完成了。
然后我将其发送到一个php文件进行显示。
$('#btnsubmit').click(function(ev) {
ev.preventDefault();
var seat = [], item;
$.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
item = $(this).attr('title');
seat.push(item);
});
var bookseats = seat;
$.ajax({
type: 'POST',
url: 'confirm.php',
data: {'bookseats': bookseats}
}).then(function(data) {
alert(data);
window.location='confirm.php';
},function(err){
alert('error');
});
当发送这个数据时,我做了一个alert(data)函数来查看值是否正确传递。
警报清楚地告诉我们数组已经被传递到php页面。但是在我的php页面中,没有显示数组的数据。并且它显示了一个错误,称为“invalid arguments”。
这是我的php代码。
$bookseats = "";
if(isset($_POST['bookseats']))
{
$bookseats = $_POST["bookseats"];
}
print_r($bookseats);
$seatar = implode(',', $bookseats);
echo 'Booked Seats : '.$seatar.'<br>'.'<br>';
当我试图将这个数组保存到数据库中时,会显示以下错误。
下面是将数据插入数据库的php代码。
$bookings_added = $conn->query($sql);
$last_bid = $conn->insert_id;
for($i = 0; $i < count($bookseats); $i++){
$SQL_project_has_type = "INSERT INTO bookseat (seat, bid)
VALUES({$bookseats[$i]}, ".$last_bid.")";
$bs = $conn->query($SQL_project_has_type);
if($bs === FALSE) exit("mysql error: ".$conn->error);
}
我的阵法有问题吗?请帮帮我!
1条答案
按热度按时间sgtfey8w1#
在html中,我添加了一个隐藏的输入来保存所选座位的值。
在js代码中,添加了一条语句,为添加的隐藏输入设置值。
同样在成功的ajax上,表单也是在post方法中提交的,并使用
jquery
提交触发器。html格式:
js公司:
PHP: