Hallo allerseits,
ich möchte in einem Formular ein Select-Feld erstellen, in dem Unterkategorien zu einzelnen auswahlpunkten vorhanden sind, dies soll in dem select-feld passend sortiert und optisch abgehoben dargestellt werden.
Die Optionen werden aus einer Tabelle ausgelesen
--> Tabelle "branche"
--> Spalten "id", "kategorie", "parentid"
In "parentid" ist NULL für die Hauptkategorien, die Unterkategorien haben in "parentid" die "id" der eine ebene übergeordneten Kategorie stehen. Es gibt bis zu 3 Ebenen, also Kategoriene, Unterkategorien und Unterunterkategorien
In "kategorie" ist der name gespeichert.
Dafür habe ich mir nun folgende Funktion geschrieben:
function select_branche()
{
$sql = "SELECT * FROM branche ORDER BY parentid,kategorie ASC";
$result = mysql_query($sql);
$result_backup = $result;
while($row = mysql_fetch_array($result))
{
echo "<option value='".$row['id']."'>".$row['kategorie']."</option>";
$result_sub = $result_backup;
while($row1 = mysql_fetch_array($result_sub))
{
if($row1['parentid']==$row['id'])
{
echo "<option value='".$row1['id']."'> > ".$row1['kategorie']."</option>";
$result_sub_sub = $result_backup;
while($row2 = mysql_fetch_array($result_sub_sub))
{
if($row2['parentid']==$row1['id'])
{ echo "<option value='".$row2['id']."'> -> ".$row2['kategorie']."</option>"; }
}
}
}
}
}
Alles anzeigen
Leider wird mir nur die erste Kategorie und dazu noch die erste Unterkategorie ausgegeben und das wars
Kann mir jemand sagen wo mein Fehler liegt, bzw ob results aus mysql_query überhaupt kopiert werden können? Ich hab glaub ich grad irgendwie ein brett vorm kopf