2014-10-03 41 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