求助php 上下一篇的实现 类似 asp的 movenext
求助php上下一篇的实现类似asp的movenext数据如下排序方式是newstimedescidtitlenewstime2a2012-05-011b2012-06-0...
求助php 上下一篇的实现 类似 asp的 movenext
数据 如下
排序 方式 是 newstime desc
id title newstime
2 a 2012-05-01
1 b 2012-06-01
4 c 2012-07-01
3 d 2012-08-01
6 e 2012-09-01
现在 信息的 id 为4 的信
那么 它 的下一的 sql语句怎么写呢 展开
数据 如下
排序 方式 是 newstime desc
id title newstime
2 a 2012-05-01
1 b 2012-06-01
4 c 2012-07-01
3 d 2012-08-01
6 e 2012-09-01
现在 信息的 id 为4 的信
那么 它 的下一的 sql语句怎么写呢 展开
2个回答
展开全部
上一条用:
select id,title,newstime from 表名 where newstime<'2012-07-01' order by newstime desc limit 1
下一条用:
select id,title,newstime from 表名 where newstime>'2012-07-01' order by newstime asc limit 1
说明:sql中的 2012-07-01替换成你当前记录的时间值
select id,title,newstime from 表名 where newstime<'2012-07-01' order by newstime desc limit 1
下一条用:
select id,title,newstime from 表名 where newstime>'2012-07-01' order by newstime asc limit 1
说明:sql中的 2012-07-01替换成你当前记录的时间值
追问
有可能时间完全一致,就不好判断了,而且如果 排序方式变动我每次就要改sql,有没有办法自动根据排序变化sql
追答
其实最常用的是按ID排序,这样就不存在相同的问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上一篇下一篇的原理,一般是按照id来比对的
比id大一个的是下一篇,比id小的是上一篇
根据这个原理
那么上一篇的sql
$sql = 'select * from `表名称`' where `id` < 4 order by `id` desc limit 1';
下一篇是:
$sql = 'select * from `表名称`' where `id` > 4 order by `id` asc limit 1';
比id大一个的是下一篇,比id小的是上一篇
根据这个原理
那么上一篇的sql
$sql = 'select * from `表名称`' where `id` < 4 order by `id` desc limit 1';
下一篇是:
$sql = 'select * from `表名称`' where `id` > 4 order by `id` asc limit 1';
追问
下一条是id3 上一条是id1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询