谁一开始就是大神?

如何查询当前记录的上一条和下一条记录(表中已有排序字段)?[2.0]

表中增加了排序字段“sort_by”,排序方式为先根据“sort_by”倒序排列,然后根据“id”倒序排列。在这种情况下如何查询当前记录的上一条记录和下一条记录?

说个思路:
1、获取记录的绝对顺序号(也就是按每页1条记录算出来的值):在列表页中将每条记录按照指定的排序方式所处的绝对顺序号(n)保存下来,在详情页的链接中将此顺序号传过去。
2、在详情页中,根据顺序号,按指定的排序方式查找第n-1和n+1条记录,作为上一条,下一条,显示在当前页,同样,在上一条和下一条的链接上将n-1和n+1要传过去,继续使用。
我优先能想到的就是limit 0, 1 这样,通过增加offset 来取下一条
如果要深入一些,我觉得在 数据库设计上可以下些功夫
也有一些笨办法,一次取一批出来,反正是数组,下标从0 开始依次递增。
sort_by 值如果存在就用它 如果不存在就用ID
查询 sort_by大于当前sort_by 和sort_by 小于当前sort_by 的排序还是按:先根据“sort_by”倒序排列,然后根据“id”倒序排列这样试试
我只能告诉你两句sql语句
参考我的的这条 http://www.yiichina.com/tutorial/1142

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 如何查询当前记录的上一条和下一条记录(表中已有排序字段)?[2.0]

评论 抢沙发

登录

找回密码

注册