Mailinglisten-Archive |
>Hallo,
>ich muss nun auch mal posten :)
>Seit 3 Tagen verzweifele ich an einem Problem.
>Es geht um ein DiskussionsThread, wo auf Nachrichten
>geantwortet wird und diese N tief.
>Die DB-Tabelle sieht ungef. so aus:
>message_id | parent_id | subject
>
> 1 - Super tolle Frage
> 2 - Noch ne tollere Frage
> ....
> 18 1 AW: Super toole Frage
> 36 18 AW: AW: Super toole Frage
>Wahrscheinlich bin ich nur zu "Doo.."... Es muss doch irgendein
>eine Array Schweinerei geben, diese diese performant durchparst und
>die Nachrichten in der richtigen Reinfolge sortiert.
>Ich habe mir auch die ganzen anderen Foren angesehen. Ist aber nicht
>das richtige dabei.
HI
Also ich habe gerade da genau das selbe in der Mangel :)
Allerdings habe ich es ein wenig anders gelöst. Ich nehme mehrer DB
Eine für die Foren eine für die Threadtitel und eine für die Postings.
Wenn du es so machst dann dürftest du bei parent_id nicht reinschreiben
auf welches Posting geantwortet wurde, sondern auf welchen Thread.
Dann kannst du es ganz gut selektieren
SELECT * FROM table WHERE parent_id = 1 ORDER BY message_id /* für
Thread 1 */
Wenn du es so staffeln willst das mann auch sieht wer worauf geantwortet
hast must du wohl noch eine Spalte machen "re_to" dann könnte es so
aussehen
SELCT * FROM table WHERE parent_id = 1 ORDER BY re_to, message_id /* für
Thread */
Dann hast du es in der Ergenissliste so stehen das alle Antworten auf
den gewählten Thread sortiert nach re_to und sortiert nach message_id
message_id | parent_id | re_to |subject
1 - - Super tolle Frage
2 - - Noch ne tollere Frage
....
18 1 1 AW: Super toole Frage
36 1 18 AW: AW: Super toole Frage
55 1 18 AW: AW: Super toole Frage
59 1 1 AW: Super toole Frage
95 1 55 AW: AW: AW:Super toole Frage
Jezt sollte sich die Spalte re_to immer auf message_id beziehen
cu
Stephan
php::bar PHP Wiki - Listenarchive