我在 db 中排序项目时遇到问题。我在 db 中有列“位置”,它没有唯一值。根据这个专栏,我在我的页面上订购物品。
我可以通过 jqueryui 中的 sortable() 更改项目(li 元素)的顺序。
我当前问题的示例是:
$value (ex.) = 0 1 2 3 4 6 5
$i (I think) = 0 1 2 3 4 5 6
result = 0 1 2 3 4 5 5
我不明白为什么它将最后一个位置值设置为 5 而不是 6。其他位置也是如此。
以下是我当前的代码。
// update order of items in list
// i initialize
$i = 0;
// convert array (item[]=1&item[]=2) to separate items
foreach ($_POST['item'] as $value) {
// Execute statement:
$affected = $database -> update ('items',
[ 'position' => $value ], // SET (set id as $i which is increasing for each value)
[ 'position' => $i ] // WHERE
);
$i++;
}
// if everything ok then send 'success'
if ( $affected ) {
die('success');
};