2017-07-06 42 views
1

有人可以幫我在搜索數據庫時顯示最新的行ID。這是我的代碼,僅限於顯示100個結果,但它顯示的是最早的行。我想展示最新的行。請記住,我沒有時間戳。在前端搜索中顯示最新的mysql行

$query_str = "SELECT * FROM puppy_data 
       WHERE (`breed` LIKE '%".$query."%') 
       OR (`sex` LIKE '%".$query."%') 
       LIMIT 100 " ; 
+0

'爲了by'(日期\ ID) – rtfm

+0

因此,當沒有時間戳,你會如何想告訴哪一行是新的? –

回答

2

試試這個(假設你有一行叫'id')。

$query_str = "SELECT * FROM puppy_data 
       WHERE (breed LIKE '%".$query."%') 
       OR (sex LIKE '%".$query."%') 
       ORDER BY id SORT DESC LIMIT 100" ; 
+3

你應該解釋排序和降旗,並提供參考。 –

+0

非常感謝你的工作! –

+0

不客氣。請將問題標記爲已解決。謝謝。 – Difster

1

使用ORDER BY <column(s)> DESC子句按降序排列一個或多個列。如果您有一個自動遞增ID列或DateTime created_at列,這將起作用。請記住,理想情況下,您要訂購的列應該是索引的列。

SELECT * FROM puppy_data 
WHERE (breed LIKE '%".$query."%') 
OR (sex LIKE '%".$query."%') 
ORDER BY id DESC 
LIMIT 100 

https://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html

+0

非常感謝你! –