Kategoriesystem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
GregorAT
Mitglied
Beiträge: 2
Registriert: 03.06.2006 14:15

Kategoriesystem

Beitrag 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
Patrik
Mitglied
Beiträge: 208
Registriert: 23.04.2005 13:30
Wohnort: Hallein

Beitrag 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";
	}
}
?>
Die 3 größten Feinde eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel...
Jede Beseitigung eines Programmfehlers ruft Zwei neue hervor.
GregorAT
Mitglied
Beiträge: 2
Registriert: 03.06.2006 14:15

Beitrag 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?
Antworten

Zurück zu „Coding & Technik“