我按照一些教程对列表进行排序,但我无法让DB更新。事情的拖拽方面是有效的,我javascript alert()序列化列表onUpdate,订单打印如下:
images_list[]=20&images_list[]=19
等......
所以排序和拖动工作正常,我只是无法让数据库更新,这是我的代码。
<script type="text/javascript">
Sortable.create("images_list", {
onUpdate: function() {
new Ajax.Request("processor.php", {
method: "post",
parameters: { data: Sortable.serialize("images_list") }
});
}
});
processor.php代码:
//Connect to DB
require_once('connect.php');
parse_str($_POST['data']);
for ($i = 0; $i < count($images_list); $i++) {
$id = $images_list[$i];
mysql_query("UPDATE `images` SET `ranking` = '$i' WHERE `id` = '$id'");
}
任何想法都会很棒,谢谢你!
答案 0 :(得分:0)
也许您的元素中还有其他标记可供排序。我会添加标签:'':
<script type="text/javascript">
Sortable.create("images_list", {
onUpdate: function() {
new Ajax.Request("processor.php", {
method: "post",
parameters: { data: Sortable.serialize("images_list") }
});
},
tag: 'span'
});
</script>
此外,我会检查你的processor.php的路径。我用:
new Ajax.Request("/youdir/processor.php", {
(从DocumentRoot开始)