Variablen zusammensetzen
Rootless
- php
Hallo Leute,
Hab eine Frage zu PHP.
Die Situation sieht so aus:
Ich habe eine Tabelle(mysql) und hole mir die Daten da per php raus.
Feld1 = $TabelleSpalte1Feld
Feld2 = $TabelleSpalte2Feld
Feld2 = $TabelleSpalte3Feld
usw.
Nun will ich mit einer while-Schlaufe die einzelnen Felder da anzeigen.
Da das ziemlich viele Felder sind hab ich keine Lust 100mal den gleichen Code zu schreiben.
Nun also.. Was ich bis jetzt gemacht habe:
$i = 1;
while($1 <= 3){
if($i == 1){
$spalte = "Spalte1";
}
if($i == 2){
$spalte = "Spalte2";
}
if($i == 3){
$spalte = "Spalte3";
}
// Hier sollen nun die Variablen zusammengefügt werden!
echo $Tabelle.$spalte.Feld."<br>";
$i++;
}
So in etwa ist das das Schema meiner Abfrage. Keine Ahnung ob der Ansatz stimmt oder nicht.
Wäre sehr dankbar wenn mir jemand helfen könnte.
Gruss Rootless
Hi,
So in etwa ist das das Schema meiner Abfrage. Keine Ahnung ob der Ansatz stimmt oder nicht.
er ist schon im Ansatz schwerwiegend falsch. Verwende assoziative Arrays.
Cheatah
Hello,
Ich habe eine Tabelle(mysql) und hole mir die Daten da per php raus.
Feld1 = $TabelleSpalte1Feld
Feld2 = $TabelleSpalte2Feld
Feld2 = $TabelleSpalte3Feld
in der Namensvergabe für die Spalten Deiner Tabellen bis Du natürlich, mit Ausnahme der reservierten Wörter, ziemlich frei. Und wenn Du die Spaltennamen in Backticks angibst, dann darfst Du sogar die reservierten Wörter benutzen.
Allerdings unterstützen die meisten DBMS ohnehin schon die Namensbildung.
Felder aus der Tabelle AUFTRAG
können also mit einem qualifizierten Bezeichner
AUFTRAG.SPALTENNAME angesprochen werden. Es wäre daher ungeschickt, die Spalte selber in der von dir genannten Form zu benennen.
Außerdem findet bei modernen relatationalen DBMS der Zugriff immer über den Spaltennamen statt, und nicht über die Position im Record. Records werden bei MySQL z.B. vollständig aufgelöst in eigene Strukturen. Die "Felder" können also in der gesamten Datei der Tabelle verstreut stehen.
Dies nur als philosphische Anregung für Deine Namensbildung...
Mit dem SQL-Statement "SHOW COLUMNS from tablename
" kannst Du die Spaltennamen der Tabelle abfragen
http://dev.mysql.com/doc/refman/5.1/en/charset-show.html
Vielleicht wäre dies der bessere Weg, alle Namen zu bekommen, als sie "zusammenzubauen".
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom