Wer wo Online - fehler

  • Themenstarter Themenstarter laser
  • Beginndatum Beginndatum
L

laser

Ich habe ein Problem ;p und zwar habe ich mir jetzt sowas gebaut (siehe Topic) aber es funktioniert nicht 100% , d.h wenn einer alleine Online ist zeigt er ihn an aber wenn jetzt 2/3/4 Online sind gibt er nur ein > SQL Error Line 1 near " < aus , ich merke gerade das er jetzt kein Error mehr ausgibt dafür nur mich anzeigt ^^ :D

Hier der Code :

PHP:
 <?PHP
  
  include ('inc/config.php');
  
  $sql = "SELECT useronline.userid, useronline.ip, useronline.action, user.name 
         FROM useronline, user where useronline.userid = user.id";
  
  $result = mysql_query($sql) OR die(mysql_error());
  if(mysql_num_rows($result) > 0) {
  while($row = mysql_fetch_assoc($result)) {
  
  $id = $row['userid'];
  $ip = $row['ip'];
  $action = $row['action'];
  $name = $row['name'];  
  ?>
  
  <tr> 
    <td width="111" height="0" align="left" valign="top"><img src="grafik/dot_xxl.gif" alt="" />
    <? if($id == "") { echo $ip; } else { echo $name; } ?>
    </td>
    
    <td width="270" valign="top"><? echo $action; ?></td>
  </tr>
<?PHP } } else { echo 
    '<tr> 
    <td width="111" height="0" align="left" valign="top"><img src="grafik/dot_xxl.gif" alt="" />
    Keiner Online
    </td>';
    }
?>

vielen dank :/
 
Zuletzt bearbeitet von einem Moderator:
Du machst Dir die Sache recht kompliziert und zudem unperformant. Relationale Datenbanken bieten die Möglichkeit Tabellen zu verknüpfen (JOINS). Du kannst Dir also die zweite Schleife sparen und stattdessen alles in eine SQL-Anweisung packen:
Code:
SELECT useronline.userid, useronline.ip, useronline.action, user.name
FROM useronline, user
where useronline.userid = user.id

Das Statement sollte Dir ausgeben, wer online ist.

snuu
 
das ist ja cool und praktisch =) danke werde das mal probieren

/edit bringt zwar mehr übersicht aber problem ist deswegen immer noch nicht gelöst :/
 
Zuletzt bearbeitet von einem Moderator:
Zurück