9 statt 10 Db einträge

  • Hey,


    Der titel sagt zwar nicht viel aber mir viel nix besseres ein (XD)...


    ICh habe eine Datenbanke mit folgenden Spalten:nick, pw, id, online.Darin befinden sich 10 einträge : admin, user1, user2, ...,user9!


    Nun lese ich die DB aus und erhalte folgende ausgabe:


    aber leider liest er user1 nicht aus !!
    Code:

    PHP
    <span class="syntaxdefault"><br />    $verbindung </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_connect </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"localhost"</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxstring">"name"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"pw"</span><span class="syntaxkeyword">)<br />     or die (</span><span class="syntaxstring">"keine Verbindung möglich.<br />    Benutzername oder Passwort sind falsch"</span><span class="syntaxkeyword">);<br /><br />    </span><span class="syntaxdefault">mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"dbname"</span><span class="syntaxkeyword">)<br />    or die (</span><span class="syntaxstring">"Die Datenbank existiert nicht."</span><span class="syntaxkeyword">);<br /><br />    </span><span class="syntaxdefault">$abfrage </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"SELECT nick, online FROM ahn "</span><span class="syntaxkeyword">;<br />    </span><span class="syntaxdefault">$ergebnis </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$abfrage</span><span class="syntaxkeyword">)<br />        OR die(</span><span class="syntaxstring">"Error: $abfrage <br>"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">mysql_error</span><span class="syntaxkeyword">());<br />    </span><span class="syntaxdefault">$row </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$ergebnis</span><span class="syntaxkeyword">);<br />    while(</span><span class="syntaxdefault">$row </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$ergebnis</span><span class="syntaxkeyword">))<br />   {<br />   if(</span><span class="syntaxdefault">$row</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">online </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"0"</span><span class="syntaxkeyword">){<br />   echo </span><span class="syntaxstring">"<tr><td class=\"nick\">$row->nick</td><td><b class=\"off\">OFFLINE</b></td></tr>"</span><span class="syntaxkeyword">;<br />   }<br />   if(</span><span class="syntaxdefault">$row</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">online </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"1"</span><span class="syntaxkeyword">){<br />   echo </span><span class="syntaxstring">"<tr><td class=\"nick\">$row->nick</td><td><b class=\"on\">ONLINE</b></td></tr>"</span><span class="syntaxkeyword">;<br />   }<br />   }<br /> </span><span class="syntaxdefault"></span>


    wo ist mein Fehler ??



    LG

  • es gibt kein user1....


    Sonnst ist das nicht möglich


    Ist der Admin nicht dein user1. Wie hast denn die user eingetragen, das sie user1 - user9 heisen ?


    Fehler im skript und bei der abfrage hast keinen. Schau einfach nomma in die DB =)

  • Gut, dann kann es eigentlich nur eine typen problem sein...


    du solltest die if abfragen eh so schreiben


    Code
    if($row->online == "0"){
       echo "<tr><td class=\"nick\">$row->nick</td><td><b class=\"off\">OFFLINE</b></td></tr>";
       }
       else{
       echo "<tr><td class=\"nick\">$row->nick</td><td><b class=\"on\">ONLINE</b></td></tr>";
       }


    Vielleicht ist user1 weder 0 noch 1. Wüsst jetzt zwar noch nicht warum. Falls das der falls sein sollte, sollte der User1 jetzt trozdem als ofline angezeigt werden. Wenn nicht einfach mal die daten die du ausgibst vorher durch var_dump laufen lassen, dann kannst sehen was für typen ankommenn Ist sowiso nich so schön.. ich wette du speicherst in der db online als int, aber machst die abfrage auf strings... warum nicht == 0 oder == 1


    Greetz TimTim


    EDIT:


    noch was.. seh ich jetz erst... warum hast du denn über der while mit mysql_fetch schonmal mysql_fetch_object stehen ??


    Sinnlos, kann weg =).


    Greetz TimTim


  • nicht nur Sonnlos sondern schenbar auch falsch den ohne das erste mysql_fetch leist er auch user 1 aus !!
    SUPER



    Danke

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!