下面的代碼工作正常,但我想知道是否有其他方式來處理這個。基本上,刪除條目後,我需要更新排序順序。如何 - 刪除後更新排序次序
$sql = 'DELETE FROM `ee_blog_category` WHERE id = '.$category_id;
mysqli_query($con,$sql);
if(mysqli_error($con)){
echo mysqli_error($con);
}
// update cat sort
$i = 1;
$sql = 'SELECT * FROM `ee_blog_category` ORDER BY `sort`';
$result = mysqli_query($con,$sql);
while ($row = mysqli_fetch_array($result)){
$sql1 = 'UPDATE `ee_blog_category` SET `sort` = '.$i.' WHERE `id` = '.$row['id'];
mysqli_query($con,$sql1);
$i++;
}
你可以像'set sort = sort-1'一樣更新計算。這樣你就不需要循環。 – Jeff
在更新它們之前,您是如何確定「排序」列的值的?你的更新簡單地將它們設置爲與它們的「id」值相同。你可以'按ID排序'並稱之爲一天。除非你告訴他們,否則沒有人會知道你的'id'值不是連續的 - 有的已經'刪除'了。 –
我更喜歡有一個單獨的排序列,插入總行數被計算並添加+1並使最新的條目成爲排序中的最後一個。 – drooh