the snake II
Erfahrenes Mitglied
Hallo zusammen,
ich bastle grade ein kleines Forum, das mit MySQL arbeitet.
Es ist relativ einfach aufgebaut: Kategorie -> Forum -> Thema -> Beitrag
Die Tabellenstruktur der DB:
categories (Kategorien - z.B. "Allgemeines", "Programming" etc.)
forum (Foren - z.B. "Alltag", "PHP-Forum" etc.)
Die übrigen Tabellen sind für mein Problem nicht relevant.
Ich möchte nun auf der Startseite alle Kategorien und die Foren aus der Datenbank auslesen, sodass die Foren unter den Kategorien stehen.
Und genau darin liegt das Problem; ich bekomme es nicht hin, dass die Foren unter ihren Kategorien stehen.
Mein aktueller Versuch:
Es werden mir nur bei der ersten Kategorie die Foren ausgegeben, die zweite wird zwar angezeigt, aber dessen Foren nicht.
Ich komme einfach nicht mehr weiter. Hat das jemand von euch schonmal gelöst?
ich bastle grade ein kleines Forum, das mit MySQL arbeitet.
Es ist relativ einfach aufgebaut: Kategorie -> Forum -> Thema -> Beitrag
Die Tabellenstruktur der DB:
categories (Kategorien - z.B. "Allgemeines", "Programming" etc.)
- ID
- name
forum (Foren - z.B. "Alltag", "PHP-Forum" etc.)
- ID
- category
Hier kommt die ID der Kategorie rein (s.o.) - name
- description
Die übrigen Tabellen sind für mein Problem nicht relevant.
Ich möchte nun auf der Startseite alle Kategorien und die Foren aus der Datenbank auslesen, sodass die Foren unter den Kategorien stehen.
Und genau darin liegt das Problem; ich bekomme es nicht hin, dass die Foren unter ihren Kategorien stehen.
Mein aktueller Versuch:
PHP:
//Kategorien
//ID
$cat_id_q = "SELECT ID FROM categories";
$cat_id_r = mysql_query($cat_id_q);
//Name
$cat_nam_q = "SELECT name FROM categories";
$cat_nam_r = mysql_query($cat_nam_q);
//Foren
//ID
$for_id_q = "SELECT ID FROM forum ORDER BY ID";
$for_id_r = mysql_query($for_id_q);
//Name
$for_nam_q = "SELECT name FROM forum ORDER BY ID";
$for_nam_r = mysql_query($for_nam_q);
//Kategorie
$for_cat_q = "SELECT category FROM forum ORDER BY ID";
$for_cat_r = mysql_query($for_cat_q);
$i = 0;
while(
$cat_id_a = mysql_fetch_row($cat_id_r) AND
$cat_nam_a = mysql_fetch_row($cat_nam_r)
)
{
$ausgabe.='<tr><td class="cat">'.$cat_nam_a[0].'</td></tr>';
while(
$for_id_a = mysql_fetch_row($for_id_r)
AND $for_nam_a = mysql_fetch_row($for_nam_r)
AND $for_cat_a = mysql_fetch_row($for_cat_r)
){
if($cat_id_a[0] == $for_cat_a[0])
$ausgabe.= '<tr><td class="for">'.$for_nam_a[0].'</td></tr>';
}
}
Ich komme einfach nicht mehr weiter. Hat das jemand von euch schonmal gelöst?