0

我正在使用 jQuery 插件对产品订单进行排序。它在客户端站点上运行良好,但我也想更新数据库中的订单。这是我的尝试: HTML:

<ul id="item_list" >
<li id="item_1">Item One</li>
<li id="item_2">Item Two</li>
<li id="item_3">Item Three</li>
<li id="item_4">Item Four</li>
</ul>

jQuery:

$("#item_list").sortable({stop:function(i) {
  $.ajax({
    type: "GET",
    url: "server_items_reorder.php",
    data: $("#item_list").sortable("serialize")
  });
  foreach($_GET['item'] as $key=>$value) {
    mysql_query("UPDATE my_items" SET position = '" . $key . "' WHERE id ='" .         $value . "'");

但我这样做,它会抛出一个错误:为 foreach 显示无效的争论。怎么了?

4

2 回答 2

1

看起来您的代码可能基于Wil Linssen 的帖子

不管是不是,“foreach 的无效参数”都意味着它$_GET['item']是空的,或者格式不正确。尝试将其打印在server_items_reorder.php

print "$_GET[item]";
于 2012-07-30T14:34:17.860 回答
0

mm ..我认为querystring var的名称是item_list

试试这个重命名

$('#item_list').sortable('serialize',{key:'item'})

您确定 #item_list 包含 ids 值吗?

于 2012-05-17T11:33:14.600 回答