Javascript 使用ajax使用jquery数组更新mysql数据库

Javascript 使用ajax使用jquery数组更新mysql数据库,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我需要一些帮助来使用ajax从jquery数组中的数据更新mysql表。我曾尝试搜索类似的问题,但找不到任何东西,或者可能我不知道搜索的正确术语。。。我对web开发/编码还是相当陌生的 我会尽可能清楚地解释我想做什么。我有一个带有座位的页面,用户通过点击来选择座位,点击后,座位ID会添加到页面左侧购物车区域中自己的span标签中。这个很好用 在签出时,我的js文件能够在数组中提取这些座位ID,但是从这里我不确定如何正确地将这个数组发送到php文件,然后php文件从数组中读取座位ID,并更新相关的

我需要一些帮助来使用ajax从jquery数组中的数据更新mysql表。我曾尝试搜索类似的问题,但找不到任何东西,或者可能我不知道搜索的正确术语。。。我对web开发/编码还是相当陌生的

我会尽可能清楚地解释我想做什么。我有一个带有座位的页面,用户通过点击来选择座位,点击后,座位ID会添加到页面左侧购物车区域中自己的span标签中。这个很好用

在签出时,我的js文件能够在数组中提取这些座位ID,但是从这里我不确定如何正确地将这个数组发送到php文件,然后php文件从数组中读取座位ID,并更新相关的座位行以将可用性从1更改为0(这是使用ajax)

这是我的密码:

checkout.js

$(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进行修改。谢谢。一旦你修复了未定义的索引,代码就应该工作了。