Mailinglisten-Archive |
Aloha, > ---------- > Von: Andreas Bender[SMTP:bendix_(at)_ldknet.org] > > Ich habe ca. 30 Spalten in einer Tabelle und möchte die Werte pro Zeile > mit list() in > Variablen übergeben. > > 1. Gibt es sowas wie list(*), daß mir php die Variablen nach den Feldnamen > benennt, > ohne daß ich list($wert1, $wert2,...) schreiben muß? > Nein. Du kannst aber: (Annahme : Tabelle mit den Spalten id, vorname, nachname a) die Werte in einen Hash schreiben $h_ergebniss = mysql_fetch_row() Dann hast du $h_ergebniss['id'], $h_ergebniss['vorname'], $h_ergebniss['nachname'], b) zusätzlich eine Schleife über den Hash laufen lassen und mit variablen Variablen Variablen erzeugen, die genauso heissen wie die Tabellenspalten: while (list($key, $val) = each($h_ergebnis)) { $$key = $val; } Dann hast du Variablen wie $id, $vorname, $nachname > 2. Da ich pro HTML-Seite immer 2 Zeilen aus dieser Tabelle auslesen will, > müssten > die Variablen sich aus dem Feldnamen und der Jahreszahl > zusammensetzten. > Wie stelle ich das an? > Entweder möglichkeit a) mit 2 verschiedenen Hashes oder bei b) $jahr = 1999; while (list($key, $val) = each($h_ergebnis)) { ${$key.$jahr} = $val; } Dann hast du $id1999, $vorname1999, $nachname1999. Soweit mir dünkt dürfen Variablen nicht mit einer Zahl anfangen .... Die Hashlösung ist meist die bessere, da da alle Verschiedenen Werte UND Spaltennamen zusammengehoerend handlich gespeichert sind. > BTW: Sollte mein Problem nur durch einen großen Programmieraufwand zu > lösen sein, dann tippe > ich die Variablen vielleicht doch besser per Hand ein. > Hm, eigentlich erforderts nur daß man im Handbuch sich mal "variable Variablen" und "Variablentypen" durchliest - dazu noch etwas brain() benutzen ;) Viele Grüße, Mathias
php::bar PHP Wiki - Listenarchive