0
列表按日期排序。但是,行可以標記爲「最高優先級」,這將確保這些行始終顯示在非優先級之前。以下SQL對於顯示列表非常適用:MySQL下一個/上一個項目按查詢 - 類別第一,然後日期
SELECT * FROM table ORDER BY (CASE WHEN category = 'top_priority'
THEN 0 ELSE 1 END), date DESC
當我點擊一行時,我想顯示下一個/上一個按鈕。由於兩類(優先級第一),我不能用這樣的(PHP)的簡單查詢:
$next_id = "SELECT id from table WHERE date > $this_items_date"
請問我能不能找出一個/上一個ID,當我知道目前的ID?
感謝您的回覆。忘了提及從其他*頁面的'item.php?id = 30'(etc)有直接鏈接而不是行列表。所以我並不總是有可能將行號傳遞給物品頁面。我想避免循環瀏覽項目頁面上的整個表格,因爲大約有10000行(使用[PEAR Pager](http://pear.php.net/package/Pager)創建列表)。 – elaxsj
好吧,您可以使用LIMIT來僅顯示受限制的行集。只要您知道在「整體」記錄集中生成當前頁的偏移量,就可以調整LIMIT子句以適當啓動。並且使用mysql的'sql_calc_found_rows',如果限制條件不存在,您可以輕鬆找出將檢索多少行。 –