tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
515
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Blümchen Tutorials.de Gastzugang
    Hallo und guten Aben,

    hab da mal eine Frage. Ich möchte gerne alle User die Online sind in einem DropDown Feld dastellen.

    Das habe ich so gedacht:

    PHP-Code:
    <?php
    // DB abfragen- hier mußt du natürlich deine Daten einsetzen
      
    $query "SELECT benutzername ,value FROM user_online";
      
    $result mysql_query($query);

    // Ausgabe in DropDown
      
    while ($row mysql_fetch_array($result))
      echo 
    "<option value=\"".$row["value"]."\">".$row["benutzername "]."\n"
    ?>
    Leider kommt jetzt immer nur diese Meldung:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/niX.php on line 232
    In der Zeile 232 steht folgendes:

    PHP-Code:
      echo "<option value=\"".$row["value"]."\">".$row["benutzername "]."\n" 
    Hmm kann mir jemand sagen, was ich falsch mache?

    Gruß Blümchen
     

  2. #2
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Zitat Zitat von Blümchen
    Hmm kann mir jemand sagen, was ich falsch mache?
    Ja, Du zeigst die MySQL-Fehlermeldung nicht (echo mysql_error();).
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  3. #3
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Ich würd mal sagen, dass bei der Abfrage erst das Komma und dann das Leerzeichen kommt.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  4. #4
    Avatar von eiisa
    eiisa eiisa ist offline Mitglied Bronze
    Registriert seit
    Jan 2005
    Beiträge
    35
    Das Komma und das Leerzeichen sind normaler Weise nicht die Verursacher.

    Hm, das Problem hatte ich auch schon öfters.

    Versuch mal in $row mysql_fetch_object($result) zu speichern und die Spalten dann über $row->value und $row->benutzername aufzurufen.
    Hatt bei mir dann immer funktioniert - aber frag mich bitte nicht wieso. - würd mich auch mal interessiern ...

    Außerdem würd ich auch immer zusätzlich mit der Ausgabe von mysql_error() überprüfen, ob die Datenbankabfrage erfolgreich war.
     

  5. #5
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Bei mir klappt diese Abfrage. Schreib mal noch ein mysql_error() dazu, wie hpvw schon sagte.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  6. #6
    Avatar von andulus
    andulus andulus ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Ort
    Graz/Murau (Steiermark | Österreich)
    Beiträge
    133
    In der Zeile 232 steht folgendes:

    PHP-Code:
      echo "<option value=\"".$row["value"]."\">".$row["benutzername "]."\n" 
    Hmm kann mir jemand sagen, was ich falsch mache?

    Gruß Blümchen
    Ja, ich glaube ich kann dir HELFEN:

    Probiers mal so:
    PHP-Code:
    <? 
    echo "<option value=\"".$row[value]."\">".$row[benutzername]."\n"
    ?>
    So müsste es funktionieren, wenn nicht, bitte poste es

    Grüße,
    Andulus
     

  7. #7
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Wenn man es so macht, weiß PHP zwar, das damit auch die Felder gemeint sind, sagt aber auch zugleich, dass das dann Konstanten sind. D.h. es wird eine Fehlermeldung ausgegeben.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  8. #8
    Blümchen Tutorials.de Gastzugang
    Hallo,

    ich bekomme da dann diesen Meldung:

    Unknown column 'value' in 'field list'

    Gruß Blümchen
     

  9. #9
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Dann wird es in der Tabelle user_online kein Feld mit dem Namen value geben.

    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  10. #10
    Blümchen Tutorials.de Gastzugang
    Hallo,

    Ok jetzt habe ich das ganze mal so gemacht:

    PHP-Code:
    <?php
    // DB abfragen- hier mußt du natürlich deine Daten einsetzen
      
    $query "SELECT benutzername FROM user_online";
      
    $result mysql_query($query);
      echo 
    mysql_error();
    // Ausgabe in DropDown
      
    while ($row mysql_fetch_array($result))
      echo 
    "<option value=\"".$row[value]."\">".$row["benutzername"]."\n"
    ?>
    Wenn ich das mir jetzt aber ansehe, dann stehen die Namen die auch in der Tabelle sind alle nebeneinander und das will ich ja gerade nicht. Ich wollte die doch in einem DopDown Feld haben. Hmm was mache ich da denn falsch?

    Gruß Blümchen
     

  11. #11
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Du hast nach dem Code auch gar kein Select-Feld:
    PHP-Code:
    <?php
    // DB abfragen- hier mußt du natürlich deine Daten einsetzen
      
    $query "SELECT benutzername FROM user_online";
      
    $result mysql_query($query);
      echo 
    mysql_error();
    // Ausgabe in DropDown
      
    echo "<select name=\"dropdown\" size=\"1\">\n";
      while (
    $row mysql_fetch_array($result)) {
        echo 
    "<option value=\"".$row["benutzername"]."\">".$row["benutzername"]."</option>\n"
      
    }
      echo 
    "</select>\n";
    ?>
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  12. #12
    Blümchen Tutorials.de Gastzugang
    Hallo,

    danke für deine Hilfe. Hab noch eine letzte Frage. Wie kann ich das nun machen, wenn ich dann auf einen Namen klicke, dass ich dann gleich zu seinem Profil komme.

    So mache ich das sinst immer:

    PHP-Code:
    profils.php?user=<?php echo $_SESSION['benutzername']; ?>&<?php echo SID?>
    wo muss ich das nun noch einfügen?

    Gruß Blümchen
     

  13. #13
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Du kannst meines Wissens in einem Drop-Down keinen Link machen. Du kannst jedoch entweder mit JavaScript das Formular abschicken oder besser noch einen Submit-Button einsetzen.
    Das Formularziel muss dann Deine Profilseite sein und das Select den Namen 'user' haben.

    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

Ähnliche Themen

  1. Mit Dropdown Input-Feld ändern
    Von mcconnagal im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 01.03.12, 18:28
  2. Abfrage mit Dropdown Feld
    Von al-Maghribi im Forum PHP
    Antworten: 3
    Letzter Beitrag: 19.03.08, 12:24
  3. Tooltip bei DropDown Feld
    Von Danielku15 im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 24.01.08, 11:42
  4. Im DropDown Feld Datenbankeinträge
    Von M-GT im Forum PHP
    Antworten: 3
    Letzter Beitrag: 07.04.06, 15:58
  5. Antworten: 17
    Letzter Beitrag: 18.11.04, 21:08