我正在使用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>
j查询:
$("#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。怎么了?
看起来你的代码可能基于Wil Linssen的帖子。
无论是否为,"foreach 的参数无效"意味着$_GET['item']
为空,或者格式不正确。 尝试在server_items_reorder.php
中打印它:
print "$_GET[item]";
mm..我认为查询字符串变量的名称是item_list
尝试重命名
$('#item_list').sortable('serialize',{key:'item'})
您确定 #item_list 包含 ids 值吗?