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 ![]()