Datenbankfelder auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbankfelder auslesen

    also:

    ich starte eine datenbank-abfrage bei der ich ein WHERE-kriterium benutze (id = XYZ). jetzt moechte ich variablen belegen und zwar im format "$artikel_datenbankfeld". das heisst, ich habe z.b ein datenbankfeld mit dem namen "headline" -> jetzt soll die variable "$artikel_headline" mit dem wert des db-felds belegt werden.

    wichtig dabei:
    das script sollte so gestaltet sein, dass bei neu-einfuegung eines db-felds die variable entsprechend belegt wird.

    kann mir da jemand helfen? bitte, bitte.

  • #2
    ?? nochmal, ich komm nicht ganz mit :-)
    (oder liegt das daran dass 12 Uhr nachts ist? Dann sorry.)

    Kommentar


    • #3
      Nachtrag

      nochmal:

      ich brauche ein script, das mir beim auslesen eines eintrags der datenbank (deshalb das WHERE-kriterium) automatisch variablen belegt.

      1) auslesen der db
      2) auslesen der feldnamen (???)
      3) belegen der variablen

      wenn dann ein neues feld in der db dazu kommt, muss automatisch im script diee variable auch angelegt werden.

      moeglicher knackpunkt:
      2) ich muss irgendwie rauskriegen, welche feldnamen sich hinter dem * verbergen

      loesungsansatz(???):
      kann ich irgendwie rauskriegen, was sich hinter $row[1] usw. verbirgt? d.h. dass z.b. $row[3] = $row['FELDNAME']?

      ich kann es leider nicht besser formulieren ... sorry, aber bitte bitte versucht mich zu verstehen ;-(

      Kommentar


      • #4
        Die Feldnamen in einer Tabelle kannst du folgendermaßen auslesen:
        Code:
        $q = mysql_query ('show fields from TABELLE');
        $felder = array ();
        if ($q) while ($x=mysql_fetch_array($q))
          $felder[] = $x[Field];
        Ist aber nicht nötig, wenn du mysql_fetch_array benutzt:
        Code:
        $q = mysql_query ('select * from TABELLE where ID='.$xyz);
        $result = array();
        if ($q)
        {
          $x = mysql_fetch_array($q))
          for (reset($x); list($key, $val) = each($x); )
            ${'artikel_'.$key} = $val;
        }
        Siehe dazu insbesondere den Abschnitt über variable Variablen im php-Handbuch.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Danke

          danke fuer die antwort.

          ungefaehr so wie im zweiten beispiel habe ich es in der zwischenzeit auch realisiert.

          while (list($key,$value) = each($row)) {
          ${'artikel_' . $key} = $value;
          }

          ich wusste vorher nur nichts vom "list"-befehl ... jetzt klappt alles bis auf ein paar andere probleme, aber die gehoeren nicht ins db-forum ...

          merci nochmal

          Kommentar

          Lädt...
          X