我想设计一个上移,下移,置顶。新闻系统。 大家帮忙分析一下,数据库怎么设计比较好。程序怎么实现。主要是思路。

解决方案 »

  1.   

    数据库本来我是着样设计的 id  标题  排序
                              1  aa     1
                           2  bb     2
                           3  cc     3
    用排序的字段控制, 但是中间我删除一个以后,在控制就费劲了。 还有就是置顶问题? 是要加字段吗?
    还是怎么写?
      

  2.   

    加排序的字段,添加新闻的时候,添加最大的排序值,显示的时候按照排序值由大到小排序,这个是为了方便新加的新闻在最前面。
    修改排序的时候。应该找出上一条或者下一条的排序值来更新当前的ID的排序,并且修改上一条或者下一条的排序值为当前ID的。不能用排序+1或者-1,这样是避免中间删除了数据导致排序不连续。
      

  3.   

    我觉得加一个状态字段state,用位字节表示
    2 表示通过
    4 上移动
    8 下移
    16 自顶
    2的n次方
    取数据的 时候 where 2|state=2 这样就能取到具有2这种状态的新闻(这里表示通过)