我有一個表格,在這個表格上,用戶可以改變顯示順序。這反映在顯示我們所有員工的頁面上,我們希望能夠控制他們出現的順序。如何更改顯示順序?
當表單提交,我想修改數據庫中的其他顯示訂單以反映更改。
一些示例數據:
當他們保存形式,一切都被更新爲除顯示順序的分貝。這是在一個單獨的函數調用中處理的。
function updateDisplayOrder($eid, $display_order_old, $display_order)
{
if ($eid > 0)
{
if ($display_order != $display_order_old)
{
$result = db_query("SELECT * FROM {help_employees} WHERE active = 1 ORDER BY display_order");
while ($arr = db_fetch_array($result))
{
if ($display_order > $display_order_old)
{
if ($arr["display_order"] > $display_order_old && $arr["display_order"] <= $display_order)
{
db_query("UPDATE {help_employees} SET display_order = %d WHERE eid = %d", array($arr["display_order"] - 1, $arr["eid"]));
}
}
else
{
if ($arr["display_order"] < $display_order_old && $arr["display_order"] >= $display_order)
{
db_query("UPDATE {help_employees} SET display_order = %d WHERE eid = %d", array($arr["display_order"] + 1, $arr["eid"]));
}
}
}
db_query("UPDATE {help_employees} SET display_order = %d WHERE eid = %d", $display_order, $eid);
}
}
}
現在會發生什麼:
發生了什麼現在呢? :) – 2015-02-23 15:56:55