一个字段搞定文章的置顶、隐藏、排序

来源:互联网 发布:安卓client软件 编辑:程序博客网 时间:2024/06/06 05:47

网站(http://www.xqkblog.com)文章多起来了,就产生了很多需求,如某些文章需要置顶,某些文章需要暂时不显示出来,也有可能要按照一定的顺序对文章排序,如何实现这些看上去很简单的需求呢?

一个简单的思路是给文章添加3个字段,分别是
    bool isTopMost
    bool isHidden
    int order
这样当然可以实现,似乎也不是很复杂,但是仔细观察后发现,这3个属性都具有排他性,即当isTopMost为真时(置顶)就可以忽略isHidden和order的值,其它亦然。既然如此,何不把它们合并在一起呢?!我的做法是把这3个字段合并为一个int doc_order字段,用不同的值来表示不同的文章状态:
    负值(-1) 表示隐藏;
    0 表示置顶文章;
    正值 用于排序
显示列表的时候用查询"select ... from ... where  ... and doc_order>=0 order by doc_order”就可以了。