5
我一直在想我的網站的喜歡系統,我不能確定接近它的最佳方式。我正在使用MySQL,現在,我有一個活動表,用於發表文章,圖片,視頻等的帖子,以及評論表,以供評論。你可以喜歡評論和活動帖子,所以我應該如何處理類似表格的列?我很樂意提出改變整個架構的建議,以實現更一致的設計。類似系統的數據庫模式
我一直在想我的網站的喜歡系統,我不能確定接近它的最佳方式。我正在使用MySQL,現在,我有一個活動表,用於發表文章,圖片,視頻等的帖子,以及評論表,以供評論。你可以喜歡評論和活動帖子,所以我應該如何處理類似表格的列?我很樂意提出改變整個架構的建議,以實現更一致的設計。類似系統的數據庫模式
只是做一個叫likes
表這樣的結構:
`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(11) NOT NULL,
`post_type` varchar(10) NOT NULL,
`post_id` int(11) NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
然後,每當有人喜歡的活動後,你會插入該用戶的ID,該post_type
爲活動,然後post_id
將會是帖子ID(顯然)。
如果有人喜歡評論,你會做同樣的事情,但評論而不是。
然後拿到喜歡的一項活動後:
SELECT * FROM `likes` WHERE post_id = 'id' AND post_type = 'activity'
你只需要與ID變量來代替'id'
。
同樣的評論(除非你需要改變post_type
當然)。
我希望這可以幫助您瞭解如何爲您的網站製作一個類似的系統:)
謝謝!那正是我幾分鐘前想的。 – Wiz 2012-08-08 03:01:00
@Wiz沒問題,我很高興它有幫助。 :) – Nathan 2012-08-08 03:04:27