我正在尝试建立一个消息系统,用户的消息按时间顺序显示。我想让用户对给定消息的回复直接列在他们回复的消息下面。
基本上我认为我需要以下5个变量:user_id
,recipient_id
,message_id
,reply_id
和message
。
有人可以为此提供基本的PHP解决方案吗?我假设它只需要一些foreach
个循环,而if,else语句,我只能提出解决方案。
这是我到目前为止只回复用户的回复而不是他们的消息,也没有嵌套在他们的消息中:
<?php foreach($messages as $message)
{
$msg_id=$message->message_id;
$rply_id=$message->reply_id;
if($msg_id=$rply_id)
{
echo $message->message;
}
}
?>
答案 0 :(得分:1)
我将如何做到这一点:
从数据库中提取所有未回复的邮件,按日期排序。
按消息ID索引生成的数组。
从数据库中提取所有回复邮件,按日期排序。
循环回复,将它们放入一个新的多维数组中,按reply_id分组。
Foreach循环非回复消息:
显示每条消息。
拉出每封邮件的ID,并检查它是否是回复数组中的密钥。
如果它出现在回复数组中......
消息foreach循环结束。