Seite 1 von 1

Kategoriesystem

Verfasst: 03.06.2006 14:27
von GregorAT
Hallo,

ich würde gerne ein Kategoriesystem für eine Website schreiben. Die Datenbank sieht wie folgt aus:

| kat_id | Titel | subcat_prim_id

Man kann also Hauptkategorien anlegen und beliebig viele Subkategorien innerhalb einer Hauptkategorie. Tiefere Subkategorien kann man aber nicht anlegen. Wenn eine Kategorie eine Hauptkategorie ist, ist das Feld 'subcat_prim_id'=NULL, ist die Kategorie eine Subkategorie, steht im Feld 'subcat_prim_id' die ID der Hauptkategorie.

Leider bekomme ich die richtige Abfragesyntax nicht hin, das es wie folgt aussieht:

Bsp.: Softwareshop

Spiele -Hauptkategorie
----Action -Subkategorie
----Jump'n Run
----Lernen
Anwender
----Betriebssysteme
----Bürosoftware

MfG
Gregor

Verfasst: 03.06.2006 14:54
von Patrik

Code: Alles auswählen

<?php
$sql = "SElECT c.cat_id, c.cat_title
	FROM cat c
	WHERE c.cat_sub_id = NULL";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
	echo $row['cat_title'].'<br />'."\n";
	$sql2 = "SELECT c.cat_id, c.cat_title, c.cat_sub_id
		FROM cat c
		WHERE c.cat_sub_id = ".$row['cat_id'];
	$result2 = mysql_query($sql2);
	while($row2 = mysql_fetch_assoc($result))
	{
		echo '&nbsp;&nbsp;&nbsp;'.$row2['cat_title'].'<br />'."\n";
	}
}
?>

Verfasst: 03.06.2006 15:37
von GregorAT
Hallo,

danke für die schnelle Antwort.
Mit zwei SQL-Abfragen habe ich es mir auch schon überlegt, gibt es da eine möglichkeit, das mit einer Abfrage zu realisieren, irgentwie mit einem SELF-JOIN?