Hallo Samy!
1.) Es handelt sich bei Deinen Tabellen um eine oftmals verwendete Abbildung einer Baumstruktur. Was ich nicht verstehe, warum Du eine eigene Tabelle für die Hauptkategorien verwendest. Es handelt sich dabei um die selben Einträge wie bei den Unterkategorien - mit dem einzigen Unterschied, dass sie keinen Parent haben. Ich persönlich würde das ändern - aber ist Dein Projekt!
2.) Es gibt Möglichkeiten, diese Abfragen in einem Select zu lösen - diese sind aber durchgängig Datenbankabhängig und mühsam.
Stattdessen würde ich Dir einfach eine rekursive Abfrage des gewünschten DB-Zweigs empfehlen.
function selectTree($id)
{
$result = mysql_query("SELECT blabla FROM c1
".
"WHERE ID\_parent
= '". $id ."' ".
"ORDER BY ID
ASC");
while($row = mysql_fetch_array($result))
{
print('gewünschte Felder');
/* Wenns weiter "runter" geht, dann los ... */
selectTree($row['id']);
}
}
Start bei Ebene "0" durch
selectTree('0');
Muss natürlich noch angepasst werden, je nachdem ob der Zweig angezeigt werden soll oder nicht usw.
mfg
norbert =:-)