Code: Select all
Table:Messages
id | parent_id | sender_id | receiver_id | subject | message | read
Ich habe Folgendes versucht:
Code: Select all
$my_messages = mysql_query("
SELECT
messages.id, messages.sender_id, messages.receiver_id, messages.subject, messages.message, messages.minute,
messages.hour, messages.day, messages.month, messages.year, COUNT(*) as 'mcount'
FROM messages
LEFT JOIN messages AS mchild ON mchild.parent_id = messages.id
WHERE(messages.sender_id='$login_session' or messages.receiver_id='$login_session')
and messages.parent_id = '0'
ORDER BY messages.year DESC, messages.month DESC, messages.day DESC, messages.hour DESC, messages.minute DESC
");
Hier ist ein Beispiel:
Code: Select all
Table:Messages
id | parent_id | sender_id | receiver_id | subject | message | read
1 | 0 | Paul | John | Test | Test | 0
2 | 0 | Paul | Chris | Test | Test | 0
3 | 1 | john | Paul | Test | Test | 0
4 | 1 | Paul | John | Test | Test | 1
5 | 1 | John | John | Test | Test | 0
6 | 0 | Paul | Jack | Test | Test | 0
Code: Select all
ID:1 - 4 messages (1 parent+ 3 children), $unread=1 because read = 1 for ID:4 which is a child for ID:1
ID:2 - 1 message
ID:6 - 1 message