例えば
1.田中 2.佐藤 3.鈴木 4.山中 5.橋本
とあり、3.鈴木 を消した場合
1.田中 2.佐藤 4.山中 5.橋本
となってしまうところを
1.田中 2.佐藤 3.山中 4.橋本
と、連番で表示されるようにしたいです。いい方法はないかと調べると
以下のサイトを見つけました。
how to renumber primary index
このサイトによると
SET @i=0; UPDATE table_name SET column_name=(@i:=@i+1);
このコマンドが有効らしですが、しかしこのコマンドをphp文に組み込む際どのようにしてよいかわかりません。
例えば、
php
1if($pass==$delete_pass){ 2 $sql="DELETE FROM $tb_name WHERE number=$num"; 3 $stmt=$pdo->prepare($sql); 4 $stmt->execute(); 5 6 $reset_num="SET @i:=0; UPDATE $tb_name SET number=(@i:=@i+1)"; 7 $stmt=$pdo->prepare($reset_num); 8 $stmt->execute(); 9 10 }else{ 11 echo "パスワードまたは削除番号が間違っています"; 12 exit(); 13 }
などと書いてみましたが
【エラー】
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE keijiban2 SET number=(@i:=@i+1)' at line 1
このように、構文ミスのようです…
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。