好吧,我的问题比标题所说的要难一些...
我有一个带有消息的表,我使用 while 循环将所有这些消息加载到 php 中。
我的 sql 查询目前看起来像这样:
"SELECT *
FROM messages
WHERE thread_id = '" . $thread_id . "'
ORDER BY date_sent"
工作正常并且一个接一个地返回所有消息,所以我在底部有最新消息(这很重要,因为我的消息模块像 facebook 一样工作,底部有一个小的回复字段,让用户直接聊天)
现在,我想要的是一个查询,它只会在一个查询中给我最新的 10 个结果。
我已经有了想要的结果数($number_of_results = 10;)
如果我不必先计算结果的行数,而是在单个查询中请求结果,那就太好了。
就像是:
"SELECT *
FROM messages
WHERE thread_id = '" . $thread_id . "'
ORDER BY date_sent
LIMIT TOTAL_NUMBER_OF_ROWS_WHERE_THREAD_ID_IS_MY_THREAD_ID-$number_of_results, $number_of_results"
有没有办法做这样的事情......?