日期:2014-05-16  浏览次数:20542 次

关于不同等级会员所发布信息的排序问题的设计思路
表达能力不好,啰啰嗦嗦细说下
在一个项目中遇到问题,拿不下主意,请遇到类似问题的大哥帮忙开通下,问题如下
1.web项目,挂网上空间,不想写定时刷新数据库的代码,也就是说不写定时刷新数据库中会员等级的代码
2.会员多个等级,按月充值,如果不续费,将降为0等级
3.高等级会员发布的信息排列靠前


目前是这样想的
在会员表中一个会员等级字段 level,会员到期时间字段 date,在判断该用户等级时 先判断是否过期了,如果过期level=0,没过期按照数据库中level 计算
信息表有一个排序字段ordertime 是日期格式的,排序时联合查询会员表 如果会员等级大于0 ,则在这个排序字段上加一个时间(比如30*会员等级level)

请教设计是否合理 ,有没有高效的方法
另外使用这种排序方式可能会出现第一页上全是一个会员的信息,在逻辑上是否合理,我看很多网站上排序上没有一页上存在2条以上同一会员信息的
------解决方案--------------------
 一个会员信息表 一个会员等级表 就OK了

信息表里面存储会员信息

等级表里面存储会员等级 用会员ID关联

前台展示的时候可以用串来展示 没必要用一页多行。
------解决方案--------------------
请教设计是否合理 ,有没有高效的方法
另外使用这种排序方式可能会出现第一页上全是一个会员的信息,在逻辑上是否合理,我看很多网站上排序上没有一页上存在2条以上同一会员信息的


我觉得基本上是合理的。
另外,你不想让一个会员的信息,排在一页上,这个通过row_number() 函数,可以实现,一页上只显示不同会员的信息的
------解决方案--------------------
我觉得他的意思是,既想让高级会员靠前,又不想让太明显了,就是避免前面全部是高级会员的,低级的全在后边