之前可能已经提出过这个问题,但我找不到它。
我正在为用户构建一个页面来浏览其他用户的个人资料。我目前的计划是按照上次显示的时间和最后一次在线时间的顺序显示配置文件。
所以我给每个驻留在数据库中的项目一个last_displayed的属性,该属性包含上次显示配置文件的时间戳。显示配置文件后,时间戳将更新,并且在显示具有较旧last_displayed时间戳的其他配置文件之前不会显示时间戳。
同时会有一个last_online属性,其中包含个人资料上次上线的时间戳。这是为了在显示较旧用户之前显示最近的在线用户。
现在,当实际查询数据库中要显示的配置文件时,我会扩大last_display和last_online的范围,直到找到足够的配置文件。
我认为这个功能与约会网站没有什么不同。
所以我的问题是:有没有更好的方法来动态显示用户个人资料?
感谢您阅读,如果你到目前为止!
答案 0 :(得分:0)
在这里放置一段SQL或链接到http://sqlfiddle.com/ - 主要是关于此。
你不能在这里使用任何范围宽度 - 你应该找到一些令人满意的列/订单组合来简单ORDER BY $columns LIMIT $num
在此架构中,您可以在$columns
中使用:column1 DESC, column2 DESC
,反之亦然
或者可能是他们的组合:IFNULL(column1, column2)
或MAX(column1, column2)
。
朝这个方向前进。当您找到正确的解决方案时 - 在此处发布。
ps:我建议你删除这里的yii标签。