2014-10-03 60 views
0

我正在制作类似于Facebook的工作方式的供稿系统,现在我试图实现的是重复功能。忽略重复记录但颠簸他们顶部

如果用户写同一职位=那就不要duplicatly显示为PHP通常默认完成,但碰到它的顶部,以便用户知道其他用户作为重新写

这里是我的查询

$select_posts_from_groups_query = $db->query("SELECT * FROM spud_groups_posts LEFT JOIN spud_groups_members 
ON spud_groups_posts.group_url = spud_groups_members.gurl WHERE member_name='$mybb_username' GROUP BY post_body ORDER BY time_posted DESC"); 

我怎么才能得到它一旦用户重新复制的,那将让用户知道一些其他人分享了它

由于撞击它自身作为最新的更新;)

回答

0

三种解决方案

假设你有你的数据记录更新时间字段名为time_updated,有一对夫妇的事情可以做:

  1. 你可以简单地最大两个:

ORDER BY max(time_posted,time_updated) DESC

这可能给问题与NULL个值虽然


time_updated

ORDER BY nvl(time_updated, time_posted) DESC

(的Oracle SQL语法在第一

  • 替代NULL小号nvl()代用品NULL参数与第二参数 - 不知道你使用的数据库)


  • 总是存储time_updated(最好IMO溶液)。在创建后(最初)设置time_updated = time_created和使用
  • ORDER BY time_updated DESC

    +0

    我并不需要使用time_updated表我只是跟着你的方法,但只与time_posted表和感谢负荷: D – 2014-10-03 09:44:39

    +0

    现在我怎么会只允许它碰到,如果原始/第一篇文章相同的休息是少于3天? 谢谢;) – 2014-10-03 09:53:29