嘿,我有一個表「ID」,「名稱」,「重量」列。權重是一個無符號的小整數。(我的)SQL - 批量更新
我有一個頁面顯示按「weight ASC」排序的項目。它將使用拖放操作,一旦訂單發生變化,將傳遞逗號分隔的id字符串(按照新訂單)。
假設該表中有10個項目。這是我到目前爲止有:
樣品輸入:
5,6,2,9,10,4,8,1,3,7
示例PHP處理程序(錯誤處理&安全的東西除外):
<?php
$weight = 0;
$id_array = explode(',', $id_string);
foreach ($id_array as $key => $val)
{
mysql_query("UPDATE tbl SET weight = '$weight' where id = '$val' LIMIT 1");
$weight++;
}
?>
當我進行了更改列的順序,我的腳本需要做10個獨立的UPDATE查詢,還是有更好的方法?
謝謝大家。 – Matt 2009-09-15 20:50:55