PHP收件箱功能

时间:2009-12-24 15:51:44

标签: php mysql

我在上一个问题上收到了很多帮助。这是我在的地方:

我正在为学校的约会网站项目构建线程消息系统的最后一步,并希望在消息是新的时突出显示不同的bg颜色。这是表结构:

CREATE TABLE `messages` 
(
    `id` bigint (20) NOT NULL AUTO_INCREMENT , 
    `fromme` integer (11) NOT NULL, 
    `tome` integer (11) NOT NULL, 
    `subject` varchar (255) NOT NULL, 
    `message` longtext NOT NULL, 
    `mydate` datetime NOT NULL, 
    `thread` varchar (255) NOT NULL, 
    `receipt` varchar (50) NOT NULL, 
    `INDELETE` varchar (5), 
    `SENTDELETE` varchar (5),
    PRIMARY KEY (`id`)
) TYPE=MyISAM CHARACTER SET latin1 COLLATE latin1_swedish_ci;

此查询确定是否有新消息(正常工作):

select * from messages where tome = '$yes' && receipt = 'n' and INDELETE !='y';

然后显示例如“3个新消息。”

所有这些都正确显示。唯一的问题是收件箱。 Ollie Jones和Bill Karwin为我提供了一些很好的帮助,它确实按预期工作,但是当你回复收件箱后,该消息现在消失了。

SELECT messages.id, 
       messages.fromme, 
       messages.subject, 
       messages.message, 
       messages.receipt, 
       messages.mydate, 
       messages.thread, 
       users.firstname, users.lastname, users.image1
  FROM messages, 
       users,
       (SELECT MAX(messages.id) id, messages.thread thread 
          FROM messages
        GROUP BY messages.thread) latest,
 WHERE messages.tome = '$yes' 
   AND messages.INDELETE !='y' 
   AND messages.fromme = users.id
   AND messages.id=latest.id
ORDER BY messages.mydate desc

目标是将所有消息保留在收件箱中,只需突出显示上面的新消息并按线程对它们进行分组。有任何想法吗?谢谢JC

1 个答案:

答案 0 :(得分:0)

查看回复邮件时运行的代码。现在将它与查询的where子句进行比较,以便在收件箱中提取消息。

发送回复时您正在执行的操作导致邮件不符合收件箱查询的条件。没有看到回复代码,这是我能给予的唯一帮助。