Javascript 使用ajax使用jquery数组更新mysql数据库
我需要一些帮助来使用ajax从jquery数组中的数据更新mysql表。我曾尝试搜索类似的问题,但找不到任何东西,或者可能我不知道搜索的正确术语。。。我对web开发/编码还是相当陌生的 我会尽可能清楚地解释我想做什么。我有一个带有座位的页面,用户通过点击来选择座位,点击后,座位ID会添加到页面左侧购物车区域中自己的span标签中。这个很好用 在签出时,我的js文件能够在数组中提取这些座位ID,但是从这里我不确定如何正确地将这个数组发送到php文件,然后php文件从数组中读取座位ID,并更新相关的座位行以将可用性从1更改为0(这是使用ajax) 这是我的密码: checkout.jsJavascript 使用ajax使用jquery数组更新mysql数据库,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我需要一些帮助来使用ajax从jquery数组中的数据更新mysql表。我曾尝试搜索类似的问题,但找不到任何东西,或者可能我不知道搜索的正确术语。。。我对web开发/编码还是相当陌生的 我会尽可能清楚地解释我想做什么。我有一个带有座位的页面,用户通过点击来选择座位,点击后,座位ID会添加到页面左侧购物车区域中自己的span标签中。这个很好用 在签出时,我的js文件能够在数组中提取这些座位ID,但是从这里我不确定如何正确地将这个数组发送到php文件,然后php文件从数组中读取座位ID,并更新相关的
$(document).ready(function(){
$('#checkout').click(function(){
var status = sessionStorage.getItem("username");
if(sessionStorage.getItem("username")){
var tickets = [];
$("#myTickets").find("span").each(function(){ tickets.push(this.id); });
var type = "POST",
url = "scripts/sendSeatDetails.php";
console.log(tickets);
$.ajax ({
url:url,
type:type,
data:tickets,
success: function(response){
if(response == 5){
alert("Seat update query failed");
} else {
alert("success");
}
}
});
} else {
alert("Before purchasing please log in. If you do not have an account please register.");
}
});
}))
在控制台日志中显示:[“A2”、“A3”、“A4”](如果我选择了ID为A2、A3、A4等的座位)
sendSeatDetails.php
<?php
include("dbconnect.php");
$myseats=$_POST['tickets'];
$query="update seats set status='0' where seatnum=";
for($i=0;$i<count($myseats);$i++){
$query.="'$myseats[$i]'";
if($i<count($myseats)-1){
$query.=" || seatnum=";
}
}
$link = mysql_query($query);
if (!$link) {
echo 5;
}
?>
要在jQuery中发送数组,必须将其序列化,然后在PHP文件中对其进行解析:
data: tickets.serialize(),
...
parse_str($_POST['data'], $data);
然后将其视为普通数组。逐个运行更新查询
$myseats=$_POST['tickets'];
$flag=0;// Total successful updates
$myseats=explode(',',$myseats);
for($i=0;$i<count($myseats);$i++){
$query="update seats set status=0 where seatnum='".$myseats[$i]."'";
$link = mysql_query($query);
if (!$link) {
$flag=$flag+1;
}
}
echo $flag;die;
$myseat=$\u POST['tickets'];
$flag=0;//成功更新总数
$myseats=explode(“,”,$myseats);
对于($i=0;$i)当您转储$link时,$link的结果是什么?请注意,它们不再被维护,而是被维护。请改为了解,并使用or。您还需要在打开后立即将错误报告添加到文件的顶部。当我转储$link时(echo$link然后js文件中的console.log响应),我会收到一些“注意:未定义的索引”错误。@JayBlanchard-是的,一旦我成功地使其工作起来,我计划用PDO进行修改。谢谢。一旦你修复了未定义的索引,代码就应该工作了。