Rootless: Variablen zusammensetzen

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

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)