Pulldown mit Daten befüllen
TomcatChriss
- php
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:
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
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".
Die Wurzelkategorie sollte m.E. auch in der Datenhaltung abgelegt sein und die pid "NULL" haben, also keine Kodierung mit "1" oder so, das waere unrichtig.
Wenn Du nicht mit einer Rekursion kommen willst, dann komm doch mit einem Array und einer Schleife. Das Array enthaelt anfangs nur das Stammelement (die Stammelemente :) und wird dann immer weiter aufgebaut bis keine Verweise mehr gefunden werden, dann gehts aus der Schleife raus.
Vorher einfach den gesamten "Menue-Datenbestand" laden.
Und vielleicht mal im Forumsarchiv nachlesen, das Thema blieb hier nicht unbehandelt.