2013-11-10 27 views
0

我試圖弄清楚如何編碼我的郵件的回覆。這是消息DB enter image description here回覆郵件系統中的郵箱php

我的問題是:如何處理回覆消息?我是否更新表格,並通過在回覆表格中引用原始信息來添加原始信息,這樣每次提示信息時都會帶上線索?從來沒有編碼過,所以有點困惑。爲了清楚起見,這不僅是在網站短信聊天系統

<input type='hidden' name='reply' value='[quote]<?php echo $messages; ?>[/quote]' /> 
+1

_What做的回覆消息_ - 決定你想要做什麼,做到這一點。 – 2013-11-10 02:13:04

+0

你試圖解決什麼問題?如何存儲線程對話?如何回覆內容?如何解析您系統生成的電子郵件回覆? – Dan

+0

@丹主要是,如何存儲線程對話。 – rogerthat

回答

2

最流暢的方法之一是有另一個領域,例如稱爲reply_to,它與id的類型相同,並且將是一個外鍵(保存當前正在回覆的消息的ID)。

ALTER TABLE `messages` 
    ADD `reply_to` INT(11) NOT NULL, 
    ADD CONSTRAINT `reply_to_fk1` FOREIGN KEY (`reply_to`) REFERENCES `messages` (`id`); 

這應該改變表(MySQL),對於另一個DBMS你可能需要另一個代碼。您可能想要設置更新時發生的情況並在那裏刪除。

現在從數據庫中檢索信息時,你就會知道它是否是一個又一個的回覆(並能加載它,因爲你可以identifiy吧) - 與否。

+0

這個字段也會保存回覆的消息嗎? – rogerthat

+0

都能跟得上,這將持有回覆的消息的'id',使用它可以加載消息本身(無冗餘) – kero

+1

另外值得一提的是,如果你的系統是發送和/或接收實際的電子郵件時,[_Message,ID_和_References_ headers](http://www.freesoft.org/CIE/RFC/822/36.htm)可能會用於追蹤'reply_to'列的適當值。 – Dan

1

,您可以創建另一個表(回覆 - 稱之爲回覆?),其中包含:

1)一個ID

2)含量

3)原始消息ID的應答相關[外鍵(在原始電子郵件表)在康沃上下文而言

這你可以單獨地,乾淨地查詢和存儲每條消息。

0

我建議做@kingkero說無論是什麼(這似乎是更簡單的方法),或在同一個表具有相同的字段添加答覆,並比格式化你想輸出更多的代碼的方式。這取決於你打算在哪裏,如何展現答覆,爲獲得原來的職位,你可能需要更復雜的SQL查詢或代碼邏輯