Php 每次更新都使用唯一id发布数组并更新mysql表?
我在firebug中有这个:Php 每次更新都使用唯一id发布数组并更新mysql表?,php,mysql,arrays,serialization,Php,Mysql,Arrays,Serialization,我在firebug中有这个: s:17:"id=12&id=15&id=16";s:19:"qty=15&qty=5&qty=12";s:43:"note=note+one¬e=note+two¬e=note+three"; 我由此得出上述结论: itemid: $('input.id').serialize(), qty: $('input.qty').serialize(), note: $('textarea.note').serialize(),
s:17:"id=12&id=15&id=16";s:19:"qty=15&qty=5&qty=12";s:43:"note=note+one¬e=note+two¬e=note+three";
我由此得出上述结论:
itemid: $('input.id').serialize(),
qty: $('input.qty').serialize(),
note: $('textarea.note').serialize(),
name: $('input#fname').val(),
phone: $('input#phone').val(),
email: $('input#email').val()
我的php进程文件中有以下内容:
$id = serialize($_POST['itemid']);
$qty = serialize($_POST['qty']);
$note = serialize($_POST['note']);
$ids = explode(',', $id);
$qtys = explode(',', $qty);
$notes = explode(',', $note);
$count = count($ids,$qtys,$notes);
for ($i=0; $i < $count; $i++) {
$query = "UPDATE bookings SET qty='{$qtys[$i]}', note='{$notes[$i]}' WHERE id='{$ids[$i]}'";
$result = mysql_query($query) or die(mysql_error());
mysql_close();
$id=serialize($\u POST['itemid']);
$qty=序列化($_POST['qty']);
$note=序列化($_POST['note']);
$id=分解(“,”,$id);
$qtys=分解(“,”,$qty);
$notes=分解(“,”,$note);
$count=count($id,$qtys,$notes);
对于($i=0;$i<$count;$i++){
$query=“更新预订设置数量=”{$qtys[$i]}',note=“{$notes[$i]}”,其中id=“{$ids[$i]}”;
$result=mysql\u query($query)或die(mysql\u error());
mysql_close();
我们正在努力弄清楚这是如何做到的。必须要做的是,id=数组中的每个id都会发生更新,并且数量和注释所在的字段中的值会发生变化
有没有一种简单的方法可以做到这一点
提前谢谢
jonny而不是每次查询您都可以构建一个多查询字符串,然后使用@tom感谢您的知识。我去了链接并试图理解逻辑。这似乎有点超出了我的理解范围。我的更新查询最多只有几行。有没有简单的方法让循环goping完成这项工作日期?现在可能有几个ID,但您不知道可以有多少个ID,因为会有多个ID,所以循环是有意义的,而不是每次通过串联创建一个查询时执行一个查询,如
$qry.=“UPDATE tbl SET fld=val”
然后使用mysqli::multi_query
就像使用mysql_query()
或其他任何东西一样,到目前为止,唯一的另一件事是只使用一个变量,如$id=explode(',',',serialize($\u POST['itemid']);