我有一個sql表格,裏面有文章。我在sql中將文章的順序存儲在INT字段中。
隨着(拖放)UI中的ajax帖子,我得到了一個整數數組(新訂單)。
例如:
舊秩序:2,1,3,4
新的順序應該是:2,1,4,3
PHP:
PHP/MySQL更新訂單
$i = 1;
foreach ($inputarray as $var) :
if ($i != $var) :
$this->_sqli->query("UPDATE articles
SET artorder=$i WHERE artorder = $var and pagesid = $pagesid");
endif;
$i++;
endforeach;
問題:當我嘗試換元素,他們會是一樣的。所以前面的例子的輸出將是:2,1,4,4 我應該如何更新我的SQL?
我得到了與此相同的結果。 :( – appl3r 2012-03-02 14:44:51
是的,我剛剛意識到問題是什麼,使用你的例子,在第3次迭代時,它將artorder從3更改爲4 - 所以有兩行與artorder = 4。在第4次迭代中,它將所有artorder值4到3 :(Doh!是否有另一種方式來唯一引用除artorder以外的行?我認爲你需要這個來避免更新你正在使用的同一列的選擇問題 – 2012-03-02 15:21:31
我要用id來嘗試它, 謝謝。 – appl3r 2012-03-02 15:35:44