Hallo, ich bin noch ein relativer PHP-Neuling, auch wenn ich schon länger mit PHP bastel, hatte aber noch nie so ein Prob.
Ich möchte ein Pulldown mit Daten befüllen. Allerdings bekomme ich es einfach nicht hin. Folgende Siutaion:
- In dem Pulldown sollen alphabteisch Kategorien angezeigt werden.
- Zu jeder Kategorie kann es aber auch Unterkategorien geben.
- Diese Unterkategorien sollen unterhalb der jweiligen Oberkategorie stehen und eingerückt sein.
- Allerdings kann es auch zu den Unterkategorien noch Unterkategorien geben.
Wie bekomme ich das hin? Hier der Code, den ich bisher habe:
Tabellenstruktur:
id, kategorie, beschreibung, pid
Die "id" ist die Id der jeweiligen Kategorie und ist der primäre Schlüssel. "kategorie" ist der Name der Kategorie und weiterhin brauche ich noch "pid". Das ist ID der Oberkategorie. Falls keine weitere Oberkategorie vorhanden ist, dann steht dort die 1, denn 1 ist die erste Kategorie "Stamm".
Habe den Tipp bekommen, das ich das mit Arrays und rekursiven Funktionen lösen kann, aber damit bin ich überfordert.
Das habe ich bisher:
echo '<select name="kategorien">
$sql = "SELECT * FROM kategorien ORDEr BY id, pid;";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
//echo '<option value="'.$id.'">'.$kategorie.'</option>'
printf ("ID: %s, PID: %s, Kategorie: %s", $row["id"], $row["pid"], $row["kategorie"]);
}
echo '</select>';
Was muss ich nun anstelle des "printf" an Code einbauen, um als Ausgabe das befüllte Pulldown zu bekommen und wenn ich eine Kategorie wähle, als Wert des Pulldowns die Id zurückzubekommen?
Danke, Chriss