[英]User messaging system
我正在尋找創建一個用戶消息傳遞系統(類似於Facebook)。
我想知道的本質是表結構應該是什么樣的? 我的要求如下:
用戶之間交換消息-發件人可以選擇多個用戶向其發送消息。
消息以線程樣式的布局顯示,即1-1對話。 即,每個收件人的答復將出現在其自己的線程中。
個別消息無法刪除,但是可以刪除線程。 刪除線程不會刪除任何消息,只會從用戶的收件箱中刪除該線程。 但是,如果其他用戶尚未從收件箱中刪除該線程,則仍然可以訪問該線程。
這是我目前所擁有的:
Table messages ============== id (PK) user_id (from) subject body sent_at Table message_recipients ======================== message_id (PK) user_id (PK) read_status
編輯:關於以下內容:
Table messages ============== id (PK) thread_id user_id (from) body sent_at Table threads ============= id (PK) user_id (from) subject Table thread_recipients ======================= thread_id (PK) user_id (PK) read_status sender_deleted recipient_deleted
我建議至少具有以下幾點:
用戶,線程,消息
從那里,您可以簡單地為線程分配幾個標志(to_user_deleted,from_user_deleted),這些標志將相應地更新。
當然,還有很多事情要考慮,例如您要考慮哪種事情。 例如:
在設計數據庫時,您需要考慮所有這些因素。
為什么不使用Jabber之類的東西(例如: OpenFire或Web Client )
如果您需要PHP與之交互,則可以使用以下方法:
http://code.google.com/p/xmpphp/或http://code.google.com/p/jaxl/
@Angelo R.想知道為什么我們需要線程表? 這不是討論區。 如果要檢索消息的整個主題/會話,則只需按源和收件人ID進行查詢。 另外,如果您使用Thread,也不錯。 但是在這種情況下,如果出現新消息-新的thread_id(自動創建),如果回復到現有對話,則您具有thread_id,但是如果要創建新消息(例如facebook popup),您將不知道是否存在是以前的任何對話,或者thread_id是否可用,除非您對其執行特殊查詢。 這是我的想法。 告訴我在某處是否有錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.