0

私を助けてください、私はこの分野で新しいです、そのテーブルからの各行の番号付けでテーブルから列を更新することを達成する方法を理解しようとしています。(1から〜まで)。
テーブル名PRODUCTS。
列名NUMBER。
最初から、フィールド番号はIDとはまったく異なります。製品は挿入と削除が行われ、IDは自動インクリメントされます。ただし、フィールド番号は行数で更新されています。したがって、送信中にボタンを使用して、フィールド番号を対応する行数で更新することを実現したいと思います。

フィールドNUMBERを数字で更新するのに役立つPHP/MySqlスクリプトを提案してください。私はあなたの提案のいずれかをいただければ幸いです。前もって感謝します!

私のスクリプトは間違っています:

$rank="0";
$q = mysql_query("SELECT NUMBER FROM PRODUCTS");
$productCount = mysql_num_rows($q); 
if ($productCount > 0) {
while($row = @mysql_fetch_row($q)){ 
mysql_query("update PRODUCTS set NUMBER=$rank++ where ID IS NOT NULL");
}

編集済み:データベースを今すぐ:

ID  NAME   NUMBER
________________
201  Apple  3
203  Orange 5
204  Grape 17

更新後でなければなりません:

ID  NAME   NUMBER
________________
201  Apple  1
203  Orange 2
204  Grape  3
4

1 に答える 1

2
SET @rank:=0;
update tablename
set NUMBER=@rank:=@rank+1
于 2012-11-26T10:54:35.733 に答える