記事を手動で前後に移動させていますが、SQL ステートメントが機能していないようです。誰か助けてくれませんか。本当に理解できません
記事のソートが連続していない可能性がありますか? 転送に関する限り、変更の調整としてsort-1を使用すると、現在のsort+1がまだ変更されていない場合でも、データベースのレコードが変更されない可能性があります。次の記事の種類よりも大きい
/*前移*/if($result=='up'){ $sql0=$db->query("select sort from ".$db->table('product')." where id='$id'"); $row=$db->fetch_array($sql0); if(!$row){ $oldpx=1; }else{ $oldpx=$row['sort']; } if($oldpx>1){ $db->query("update ".$db->table('product')." set sort=sort+1 where sort=".$oldpx-1); $db->query("update ".$db->table('product')." set sort=sort-1 where id=".$id); } header("Location:product_list.php\n"); exit;}/*后移*/if($result=='down'){ $sql1=$db->query("select sort from ".$db->table('product')." where id='$id'"); $row=$db->fetch_array($sql1); if(!$row){ $oldpx=9999; }else{ $oldpx=$row['sort']; } $sql2=$db->query("select sort from ".$db->table('product')." order by sort desc limit 1"); $rows=$db->fetch_array($sql2); if(!$rows){ $maxpx=9999; }else{ $maxpx=$rows['sort']; } if($oldpx<$maxpx){ $db->query("update ".$db->table('product')." set sort=sort-1 where sort=".$oldpx+1); $db->query("update ".$db->table('product')." set sort=sort+1 where id=".$id); } header("Location:product_list.php\n"); exit;}
/*前移*/if($result=='up'){ $sql0=$db->query("select sort from ".$db->table('product')." where id='$id'"); $row=$db->fetch_array($sql0); if(!$row){ $oldpx=1; }else{ $oldpx=$row['sort']; } if($oldpx>1){ $db->query("update ".$db->table('product')." set sort=sort+1 where sort=".$oldpx-1); $db->query("update ".$db->table('product')." set sort=sort-1 where id=".$id); } header("Location:product_list.php\n"); exit;}/*后移*/if($result=='down'){ $sql1=$db->query("select sort from ".$db->table('product')." where id='$id'"); $row=$db->fetch_array($sql1); if(!$row){ $oldpx=9999; }else{ $oldpx=$row['sort']; } $sql2=$db->query("select sort from ".$db->table('product')." order by sort desc limit 1"); $rows=$db->fetch_array($sql2); if(!$rows){ $maxpx=9999; }else{ $maxpx=$rows['sort']; } if($oldpx<$maxpx){ $db->query("update ".$db->table('product')." set sort=sort-1 where sort=".$oldpx+1); $db->query("update ".$db->table('product')." set sort=sort+1 where id=".$id); } header("Location:product_list.php\n"); exit;}