0

我试图弄清楚如何对我的消息的回复进行编码。这是消息数据库 在此处输入图像描述

我的问题是:如何处理回复消息?我是否更新表格并将原始消息添加到其中,例如在回复表单中引用它,以便每次提出该消息时都会带来线程?以前从来没有编码过,所以有点困惑。为清楚起见,这不是仅在站点消息传递中的聊天系统

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

3 回答 3

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,您可能需要另一个代码。您可能想要设置更新时发生的事情并在那里删除。

现在,当从数据库中检索消息时,您将知道它是否是对另一个消息的回复(并且能够加载它,因为您可以识别它) - 或者不是。

于 2013-11-10T02:17:56.277 回答
1

您可以创建另一个表(用于回复 - 称之为回复?),其中包含:

1) 身份证

2) 内容

3) 就convo上下文而言,回复与[外键](在原始电子邮件表中)相关的原始消息ID

通过这种方式,您可以单独、干净地查询和存储每条单独的消息。

于 2013-11-10T02:13:48.923 回答
0

我建议按照@kingkero 所说的去做(这似乎更简单),或者在具有相同字段的同一个表中添加回复,而不是按照您想要的方式格式化它,输出更多代码。这取决于您打算在何处或如何显示回复,要获得原始帖子,您可能需要更复杂的 SQL 查询或代码逻辑

于 2013-11-10T02:24:13.787 回答