kostenloser Webspace werbefrei: lima-city


Spaltenname in DB-Abfrage als Variable

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    walkonshit

    walkonshit hat kostenlosen Webspace.

    Hi,

    ich habe eine Frage, und zwar:

    Wie ist es m?glich beim Auslesen einer MySQL-Abfrage eine Spalte mit einer Variablen auszulesen, die den Wert des Spaltennamens hat, also z.B:

    while($row = $result)
    {
    $rst = $row->$name
    }

    also sprich das statt der Spaltenname in diesem Fall $name steht

    Thx im vorraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du willst also anstatt
    "SELECT spalte FROM tabelle"

    , dass "spalte" eine Variable ist?
    Dann sollte es so in der Art aussehen:
    "SELECT ".$spalte." FROM tablle"


    Oder hab ich was falsch verstanden?
  4. Autor dieses Themas

    walkonshit

    walkonshit hat kostenlosen Webspace.

    ja hast du^^ weil ich bin ein schritt weiter das von dir genannte habe ich bereits =) aber ich bekomm kee l?sung f?r mein genanntes Problem.

    ich m?chte ja die Ergebnise auslesen und da muss ma ja auf die Spaltennamen zugreifen, aber die existieren eben nur als Variable, aber PHP liefert mir immer einen Fehler, wenn ich $row->$name oder $row->.$name mache...das is mein Problem
  5. Hmm ok, dann der n?chste Versuch:
    $result=mysql_query("SELECT ".$spalte." FROM tabelle");
    while($row=mysql_fetch_array($result))
    {
    $erg=$row[$spalte];
    }

    K?nnte so gehn, kann aber sein, dass du $row[$spalte] noch mit ' oder '. versehen musst, damit es geht.
  6. c*********c

    Bevor Du den Datensatz der mySQL-Abfrage weiterverarbeiten kannst, musst Du diesen mit Befehlen wie mysql_fetch_array() oder mysql_fetch_assoc() in ein Array verpacken:


    $name = 'Spaltenname';
    
    while($row = mysql_fetch_assoc($result))
    {
    $rst = $row[$name];
    }
    
    // oder alternativ
    
    while($row = mysql_fetch_array($result))
    {
    $rst = $row[$name];
    // oder
    $rst = $row[0];
    }


    Siehe auch:
    http://de.php.net/manual/de/function.mysql-fetch-assoc.php
    http://de.php.net/manual/de/function.mysql-fetch-array.php

    Beitrag ge?ndert am 10.08.2006 11:19 von compactdisc
  7. Daf?r bietet sich doch glatt die Funktion eval() an.
    http://www.php.net/manual/de/function.eval.php

    eval('$row->'.$name);

    Das sollte jedenfalls funktionieren, falls ich dein problem richtig verstanden habe...

    Edit: Ich glaube er benutzt schon mysql_fetch_object, aber wusste nicht, wie er auf die Spalten, die er in einer Variable gespeichert hat, zugreifen soll....

    Beitrag ge?ndert am 10.08.2006 11:21 von i-spacke
  8. Autor dieses Themas

    walkonshit

    walkonshit hat kostenlosen Webspace.

    also danke leute f?r die schnelle und gute Hilfe^^ aber leider konnte ich bis jez nix ausprobieren xD
    h?ng noch an was anderem :P
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!