看板 PHP 關於我們 聯絡資訊
以前寫過排序的方法是把容器下的所元件裡放隱藏欄位。 以陣列的方式submit給form。 <input type="hidden" name="item[]" value="1"> <input type="hidden" name="item[]" value="2"> PHP接收到時再用 foreach($item as $idx=>$id){ //=== SQL === " UPDATE table SET sort=$idx WHERE id=$id " } 這樣來把同一階的資料重新做排序。 不過目前又碰到比較不一樣的環境,所以一次只丟一筆資訊給程式處理。 我原本的規劃是 往下(上)排序: 取得下(上)一筆(取sort比目前大(小)的第一筆) 然後下SQL將兩者的sort值對調。 剛又發現這樣如果出現sort值重複的話,會有點問題出現… 不知還有沒有什麼好方法可以做排序上的修改嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.202.164
dio833:什麼情況下sort會重複?要不DB中設sort為unique的index? 04/25 16:16
kerash:用兩個欄位做 sort? 04/25 16:38
JYHuang:資料從其它分類底下變動過來就有可能一樣 04/25 17:01
dio833:舊的sort值對新的分類應該無意義,可否考慮重訂? 04/25 17:22
gpmm:沒特別好的方法ˊˋ,不過我去年有在 Web_Design 板討論 04/25 17:23
gpmm:(還是該說是自言自語)過,有興趣可以翻一下 04/25 17:23
gpmm:#1DKKbbFT 後半部,然後是 #1DKKbbFT 系列文 04/25 17:24