Php 论坛-按上次活动在多个页面上排序的主题
我目前正在用php和sql创建一个论坛。 我的问题是,假设每页总共有200和15个主题,而我在第10页,如何将主题按正确的顺序排列 我无法选择每个id,因为如果有人在其中一个主题中发布时间戳 该特定主题的更新->最新的在顶部 对于第一页,类似这样的内容也可以:Php 论坛-按上次活动在多个页面上排序的主题,php,mysql,sql,forum,Php,Mysql,Sql,Forum,我目前正在用php和sql创建一个论坛。 我的问题是,假设每页总共有200和15个主题,而我在第10页,如何将主题按正确的顺序排列 我无法选择每个id,因为如果有人在其中一个主题中发布时间戳 该特定主题的更新->最新的在顶部 对于第一页,类似这样的内容也可以: select * from topics order by time desc limit 15 但对于下一页,我需要前一页上最后一个主题的时间戳 如果我可以根据时间戳顺序按索引选择特定的表,而不需要实际的索引。我建议您检查LIMIT
select * from topics order by time desc limit 15
但对于下一页,我需要前一页上最后一个主题的时间戳
如果我可以根据时间戳顺序按索引选择特定的表,而不需要实际的索引。我建议您检查LIMIT子句的第二个参数:
对于两个参数,第一个参数指定
要返回的第一行,第二行指定
要返回的行。初始行的偏移量为0(不是1)
语法:
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
例如:
-- page 2:
SELECT * FROM topics ORDER BY time DESC LIMIT 15, 15;
SELECT * FROM topics ORDER BY time DESC LIMIT 15 OFFSET 15;
-- page 3:
SELECT * FROM topics ORDER BY time DESC LIMIT 30, 15;
SELECT * FROM topics ORDER BY time DESC LIMIT 15 OFFSET 30;
-- page n:
SELECT * FROM topics ORDER BY time DESC LIMIT (n-1)*15, 15;
SELECT * FROM topics ORDER BY time DESC LIMIT 15 OFFSET (n-1)*15;
我尝试了最后一个,但我无法使用变量,只能使用数值常量。($n-1)*15..我是不是遗漏了一些引号或是什么?没关系,只是在之前乘以n,然后在查询中写入$n。现在它工作了,谢谢你的快速回答。我想投你一票,但我的声誉似乎太低了