使用 ajax 使用 jquery 数组更新 mysql 数据库
Update mysql database with jquery array using ajax
我需要一些帮助来使用 ajax 从 jquery 数组中的数据更新 mysql 表。我尝试搜索类似的问题,但找不到任何东西,或者我不知道要搜索的正确术语......我对网络开发/编码仍然相当陌生。
我会尽量清楚地解释我试图做什么。我有一个包含座位的页面,用户通过单击它们来选择座位,单击后,座位 ID 将添加到页面左侧一种购物车区域中自己的 span 标签中。这工作正常。
结帐时,我的 js 文件能够在数组中获取这些座位 ID,但从这里我不确定如何将此数组正确发送到 php 文件,然后让 php 文件从数组中读取座位 ID 并更新相关的座位行以将可用性从 1 更改为 0(这是使用 ajax)。
这是我的代码:
结帐.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 等的座位)。
发送座位详细信息.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;
检查响应。它将是更新的行数。
相关文章:
- HTML-使用mysql.php生成一个选择框.我怎样才能更改“;值“;生成的选择框选项的
- 如何使用mysql数据库在node.js中登录API
- 使用mysql为JSON php数组分配多个列值
- 使用 mysql 查询从单列返回值
- 使用 mysql 数据创建条形图
- 如何在 JavaScript 函数中使用 MySQL 数据库数据
- 防止已选择的选项 Jquery 使用 MYSQL 自动完成
- 使用 MySQL 条目填充下拉列表
- 使用MySQL查询或javascript进行数据优化
- 使用Mysql UNIX_TIMESTAMP()与JAVASCRIPT Date.UTC()获得不同的结果
- 从外部 excel 文件中获取数据,而无需使用 mysql
- Intel XDK - 将 HTML 连接到 PHP,以使用 MySQL 将值保存到数据库
- 在OSX Lion下的SilkJS上使用MySQL
- 在 JavaScript 中使用 MySQL 数据库中的数据填充下拉列表
- 使用mySQL的LoopBack“分组依据”功能
- 使用 mySQL、Php 和 JS,我如何请求 dans 使用我在数据库中的数据
- 使用 mysql 数据在 php 中构建多维数组
- 尝试使用 mysql 和 php 更新 jquery 变量
- 如何使用 MYSQL 信息让我的报价在 PHP 中正确显示并将它们放入 onclick 事件中
- PHP响应变得非常慢(使用MySQL)