Anzeige:
Ergebnis 1 bis 3 von 3

Thema: mysql_fetch_array + foreach läuft Amok

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    mysql_fetch_array + foreach läuft Amok

    Ich bin gerade dran, ein kleines Jahrbuch mit PHP und MySQL zu entwickeln. Jetzt möchte ich einen Datensatz auf einer Seite anzeigen und hab bisher folgenden Code:

    Code:
    $query = mysql_query("SELECT * from $usertable WHERE id = '{$_GET["member"]}' LIMIT 1;");
    
      if(! $query)
        echo mysql_error();
    
      $user = mysql_fetch_array($query);
      foreach($user as $field=>$value)
        echo "<tr><td>$field</td><td>$value</td></tr>";
    Es sollte für jede Spalte der Zeile mit der Nummer {$_GET["member"]} meiner MySQL Tabelle eine Zeile einer Tabelle erzeugt werden, wo in der ersten Spalte der Name der Tabellenspalte steht und in der zweiten Spalte der Wert in dieser Zeile. Es kommt aber etwa anderes höchst interessantes heraus. Jeder Eintrag wird nämlich zweimal ausgeben, einmal so wie es sein soll und einmal mit einer fortlaufenden Nummer in der ersten Spalte anstatt dem Spaltennamen. Ich könnte natürlich ein Workaround bauen und einfach jedes zweite mal ein continue machen, ich würd das Problem aber am liebsten gar nicht erst auftreten lassen. Hier mal das, was rauskommt:

    Code:
    0 Jäger
    nachname Jäger
    1 Axel
    vorname Axel
    2 Alexx
    doppelname Alexx
    3 0000-00-00
    geburt 0000-00-00
    4 axeljaeger@web.de
    email axeljaeger@web.de
    5 Computer, Mountainbike
    hobbys Computer, Mountainbike
    6 0
    bild 0
    7 1
    id 1
    8 1
    groupid 1
    9 7815696ecbf1c96e6894b779456d330e
    pw 7815696ecbf1c96e6894b779456d330e

  2. #2
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317

    Talking

    Hallo!

    Das ist die Standard Rückgabe von mysql_fetch_array (Numerischer Wert und Feldname) - MYSQL_BOTH

    Wenn du nur Feldnamen haben möchtests lautet der Aufruf
    $user = mysql_fetch_array($query, MYSQL_ASSOC);
    bzw.
    $user = mysql_fetch_array($query, MYSQL_NUM);
    wenn du nur Zahlen möchtest.

    Ansonsten RTFM: http://de3.php.net/manual/de/functio...etch-array.php

    Gruß,

    Gaert


  3. #3
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Ja, stimmt, ich war sehr voreilig mit Posten. Mir ist noch der Gedanke gekommen, das es sicher eine Funktion gibt, mit der man sich die Spaltennamen holen kann, um dann aus dem Array nur die Felder auszulesen, die Spaltennamen sind

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •