SQL-SELECT Ausgabe

J1M1

Erfahrenes Mitglied
Tach!
Mal ne kleine Frage zu PHP:

Ich versuch eine "Who is online?".Liste zu realisieren:
PHP:
$sql_query = mysql_query("SELECT username FROM user WHERE online like 'on'");

$result = mysql_num_rows($sql_query);
$row = mysql_fetch_row($sql_query);

if($result==1){
echo "Zur Zeit ist 1 Benutzer online:  ".$row[0];
}
else{
if($result>1){
echo "Zur Zeit sind ".$result." Benutzer online: "; 
while($row2 = $row){
  echo $row2[0] . ' ';
}
}
}

So, bin dann mit zwei Accounts gleichzeitig reingegangen ("Login1", "Login2").
Der Code
PHP:
echo $result;
ergibt 2. Das ist ja auch richtig.

Aber
PHP:
while($row2 = $row){
  echo $row2[0] . ' ';
}
ergibt immer nur: "Login2". D.h., "Login1" fehlt.

Warum?

Wenn ich nun aber
PHP:
$sql = 'SELECT
          *
        FROM
          user';

$result = mysql_query($sql);

while($row = mysql_fetch_row ($result)){
  echo $row[0] ;
}
tippe ist die Ausgabe wieder richtig.

Wie kann das sein?

MfG J!M!
 
PHP:
$sql = "SELECT
             COUNT(`online`)
        FROM
             `user`
        WHERE
             `online` = 'on'";

$result = mysql_query($sql);
(ungetestet)

greetz
daddz
 
Zuletzt bearbeitet:
Also die MySQL-Abfrage sollte schon dafür geeignet sein!?
Das ist ja jetzt auch nur ein Code-Schnipsel.

greetz
daddz
 
Lies Dir bitte mal die Doku zu [phpf]mysql_fetch_row[/phpf] durch. Dann sollte Dir klar sein, warum die zweite Variante funktioniert und die erste nicht.

Gruß hpvw
 
Zurück