博客或论坛的帖子在列表页置顶的原理是什么?

红星xx 发布于 2013/05/20 10:31
阅读 378
收藏 1
博客或论坛的帖子在列表页置顶的原理是什么?该怎么查 怎么设计表呢?
加载中
0
梅开源
梅开源

select * from t where …… order by xxx, yyy 

xxx是个表示文章级别的字段,yyy一般是文章发布日期

也有先查x篇置顶的,然后查几篇不在x中且最新的实现方法

红星xx
红星xx
你这个简单易懂 ,一下就看明白了。
0
彭博
彭博
有一个 as_top 字段 ,按照 @蟋蟀哥哥 的指导,as_top 可以是 timestamp 类型,order by as_top DESC 就行了 ,还能按照置顶先后排序
彭博
彭博
回复 @红星 : as_top 字段如果是 tinyint 的话,那么不置顶就为0 置顶就是 1 ,但是这样置顶不同的帖子以后分不出置顶先后,所以 as_top 弄成 timestamp ,置顶的为当前置顶时间,未置顶为空,这样排序的话就能够把置顶的排在前面 而且是按照先后置顶的,其他的排序接在 ORDER BY as_top DESC 后面就行了
红星xx
红星xx
回复 @红星 : 就是除了置顶后 ,再按 最后回复排序吗?
红星xx
红星xx
谢谢回答 ,有个疑问就是 不置顶的帖子 as_top 的时间戳为空,那么再怎么排呢
0
红星xx
红星xx
 @梅开源 最不明白的就是分页问题 ,如果分开查询 ,分2个sql查询 ,第一页和第二页个数 估计不相等 。那该怎么分页呢?我想要的效果是个数一样。
返回顶部
顶部