Hallo.
Ich code ein eigenes Forum zur Zeit.
Nun geht es Darum einen Thread darzustellen.
Dafür müssen sämtliche Informationen aus der Datenbank geholt werden.
Wenn möglich mit einem Query.
Hier die Datenbank _mit_ Beispieleinträgen:
board_category
##############
categoryid subcategoryid categoryname
1 0 Sport
2 1 Handball
3 2 Vereine
4 0 Ernährung
board_post
##########
postid threadid uid creationtime post
1 1 1 TIMESTAMP "Hier steht der Text des Posts1"
2 1 2 TIMESTAMP "Hier steht der Text des Posts2"
3 1 1 TIMESTAMP "Hier steht der Text des Posts3"
board_thread
############
threadid threadtitel uid categoryid
1 "Ein Test" 1 3
board_thread_pics
#################
threadid picurl pictitle
1 htt.. "Ein Elefant!"
1 htt.. "Ein zweiter Elefant!"
1 htt.. "Ein Elefant!"
users
uid loginname
1 Franz
2 Joe
Ich habe den Wert 1 und möchte Thread 1 auslesen.
Der Query sieht in Pseudo so aus:
Hole mir den Threadtitel und die Userid die den Thread erstellt hat sowie die Category id. Lese die Category mit der Categoryid aus und alle Subcategories. Hole mir ausserdem alle Posts die zu dieser Threadid gehören und dazu die Erstellungszeiten der Posts und die Authoren der jewiligen Posts. Ausserdem lese alle Bilder aus die der Thread-Ersteller in seinen Post einbezogen hat.
Besonders schwer tue ich mich bei den Categories diese sind ja so aufgebaut das solange der subcategoryid-Wert != 0 ist, eine weiter Category darunter liegt.
Also ich will in diesem Fall später ausgeben können:
Sport -> Handball -> Vereine
Mein Ansatz sieht so aus, ich weiß das das nicht klappen kann so und ich blicke bei subselects und dem umgang damit auch überhaupt nicht durch:
SELECT
board_thread.threadtitel,
board_thread.categoryid,
board_category.categoryname,
board_thread_post.postid,
board_thread_post.uid,
board_thread_post.creationtime,
board_thread_post.post,
board_thread_media.mediatype,
board_thread_media.mediaurl,
board_thread_media.mediatitle
FROM board_thread
JOIN board_thread_post ON board_thread_post.threadid = '1'
JOIN board_thread_media ON board_thread_media.threadid = '1'
JOIN users ON users.uid = board_thread_post.uid
JOIN board_category ON board_category.categoryid = board_thread.categoryid
WHERE board_thread.threadid = '1'
PUH Also mir ist das eindeutig ne Ecke zu hoch wie ich sowas bewältigen soll.
Gruß,
Emiel