我对jquery中的可排序函数以及通过ajax在数据库中写入的可能性有疑问。
我有一个元素列表,希望对它们进行排序,并在我的数据库中保存新的顺序:
<ol id="sortable" class="ui-sortable">
<li class="ui-state-default ubungte" id="item-1" name="item">...</li>
<li class="ui-state-default ubungte" id="item-2" name="item">...</li>
<li class="ui-state-default ubungte" id="item-3" name="item">...</li>
<li class="ui-state-default ubungte" id="item-4" name="item">...</li>
<li class="ui-state-default ubungte" id="item-5" name="item">...</li>
</ol>
在这里我的jquery:
$(function() {
$( "#sortable" ).sortable({
placeholder: "ui-state-highlight",
update: function (event, ui) {
var data = $(this).sortable('serialize');
// POST to server using $.post or $.ajax
$.ajax({
data: data,
type: 'POST',
url: 'updateDB.php'
});
}
});
$( "#sortable" ).disableSelection();
});
这里是updateDB.php的代码
$i = 0;
foreach ($_POST['item'] as $value) {
$query = "UPDATE trainingseinheiten SET Reihenfolge = ".$i." WHERE ID = ".$value;
mysql_query($query) or die('Error, insert query failed');
$i++;
}
我可以对项目进行排序,但是当我刷新页面时,没有任何更改。似乎我的更改未保存。
你能帮帮我吗?是什么让我错了?