Wiadomości zapisywane są w następujący sposób:
ID (ID w bazie danych, auto_increment)
A: to jest ID głównego wątku
B: jeżeli jest to główny wątek, to B=0, jeżeli odpowiedź na jakiś wątek, to B=ID wątka, na który odpowiadamy.
DATA: data i godzina dodania wątku
Przykład (wątki dodawane według daty):
ID:84 A:84 B:0 DATA:2005-01-19 23:09:00 //wątek główny
ID:85 A:84 B:84 DATA:2005-01-19 23:36:45 //odpowiedź na ID84
ID:92 A:84 B:85 DATA:2005-01-20 21:18:48 //odpowiedź na ID85
ID:93 A:84 B:92 DATA:2005-01-20 21:22:31 //odpowiedź na ID92
ID:94 A:84 B:84 DATA:2005-01-20 23:58:10 //odpowiedź na ID84
ID:103 A:84 B:84 DATA:2005-01-21 15:29:06 //odpowiedź na ID84
ID:116 A:84 B:93 DATA:2005-01-22 23:37:19 //odpowiedź na ID93
ID:119 A:84 B:116 DATA:2005-01-22 23:41:49 //odpowiedź na ID116
ID:142 A:84 B:94 DATA:2005-01-24 08:57:03 //odpowiedź na ID94
Chciałbym, aby były wątki wyświetlone tak:
ID:84 A:84 B:0 DATA:2005-01-19 23:09:00 //wątek główny
ID:85 A:84 B:84 DATA:2005-01-19 23:36:45 //odpowiedź na ID84
ID:94 A:84 B:84 DATA:2005-01-20 23:58:10 //odpowiedź na ID84
ID:103 A:84 B:84 DATA:2005-01-21 15:29:06 //odpowiedź na ID84
ID:92 A:84 B:85 DATA:2005-01-20 21:18:48 //odpowiedź na ID85
ID:93 A:84 B:92 DATA:2005-01-20 21:22:31 //odpowiedź na ID92
ID:116 A:84 B:93 DATA:2005-01-22 23:37:19 //odpowiedź na ID93
ID:142 A:84 B:94 DATA:2005-01-24 08:57:03 //odpowiedź na ID94
ID:119 A:84 B:116 DATA:2005-01-22 23:41:49 //odpowiedź na ID116
To był przykład dla jednego wątku z odpowiedziami (gdy wchodzi się w przegląd wątku), gdy chcę zobaczyć wszystkie wątki, chciałbym, aby segregacja była jak wyżej, z tym, żeby przy segregacji było uwzględniana starość wątku, po najnowszej odpowiedzi.
Wiem, że to nie jest łatwe - próbuję zrobić to już piąty dzień, ale nic mi nie wychodzi.
Za słabo znam MySQL, bo php opanowałem...

Na razie zrobiłem coś takiego:
Kod
SELECT t1.*, max(t2.data) AS md FROM forum AS t1, forum AS t2 WHERE t1.a='$a' GROUP BY t1.id ORDER BY md DESC, b
ale za bardzo ine chce działać poprawnie