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