buddy für clanpage

nonick-pg

Mitglied
Hallo zusammen,
hab einen buddy geproggt für meine clanpage aber das net so wie ich es gerne hätte, sitz schons eit 2 tagen dran und find den fehler net

PHP:
$rem = mysql_query("select * from status"); //in dieser tabelle werden alle online user eingetragen
$ren = mysql_query("select * from buddy where userid='".$_GET['userid']."'"); hier sind alle user eingtragen die im buddy angezeigt werden, speziell alle datensätze mit der bestimmten userid
$num = mysql_num_rows($rem); //datensätze werden gezählt
$online = array(); //array für die onlineuser im buddy
$offline = array(); //array für die offlineuser im buddy
for ($a=0; $a<$num; $a++)
{ 
  $useronid = mysql_result($rem, $a, 'userid'); //userid der user die online sind
  while($row=mysql_fetch_array($ren))
  {
    if($row['buddyid']==$useronid) //ist hier der fehler? wenn der onlineuser gelich der buddyuser ist dann in den array pushen oder?
    {
	  array_push($online,$useronid);
    };
  };
};
$rom = mysql_query("select * from buddy where userid='$userid'");
$num2 = mysql_num_rows($rom);
for ($i=0; $i<$num2; $i++)
{
  $buddyid = mysql_result($rom, $i, 'buddyid');
  if(!in_array($buddyid,$online))  // restlichen buddys die nicht im online array sind werden in den offline array gesteckt
  {
    array_push($offline,$buddyid);
  };
};
ksort($online); // und sortiert
ksort($offline);

weiß jemand wo ich meinen denkfehler habe, langsam verzweiflle ich und ich wäre sehr dankbar für hilfe *gg*
 
Ich hab grad mal fuer etwas Syntax-Highlighting in Deinem Code gesorgt, jetzt ist der auch viel besser zu lesen.

Wie schon gesagt wurde waere es nicht schlecht wo denn das Problem liegt. "Geht nicht." ist ja keine sehr genaue Angabe, nicht wahr? Was genau funktioniert denn nicht? Gibt es vielleicht eine Fehlermeldung?

Ich hab mal kurz durch den Code geschaut und folgendes ist mir spontan aufgefallen: In Zeile 2 arbeitest Du mit $_GET['userid'], in Zeile 17 jedoch direkt mit $userid. Dies deutet darauf hin, dass das Problem durch register_globals=off hervorgerufen werden koennte, denn um gleich auf $userid zugreifen zu koennen muss register_globals=on sein. Ich sehe auch nirgends Code der $userid irgendwie belegt, dementsprechend gehe ich davon aus, dass dort $_GET['userid'] gemeint ist.

Und ich moechte Dich bitten Dich in Zukunft an Gross- und Kleinschreibung zu halten.
 
Ich bin mir jetzt nicht sicher, ob es hier relevant bzw. der Problemlösung dienlich ist, aber in der zweiten Zeile fehlen die Slashes vor dem Kommentar:

Code:
$ren = mysql_query("select * from buddy where userid='".$_GET['userid']."'"); // hier sind alle user eingtragen die im buddy angezeigt werden, speziell alle datensätze mit der bestimmten userid
 
Probier mal Folgendes:
PHP:
<?php

	$query = '
		SELECT
		        IF( `status`.`userid`=`buddy`.`buddyid`, 1, 0) AS `online`,
		        `buddy`.`userid`
		  FROM
		        `buddy`,
		        `status`
		  WHERE
		        `buddy`.`userid` = "'.mysql_real_escape_string($_GET['userid'].'"
		  ORDER BY
		        
		';
	$result = mysql_query($query);
	$online = array();
	while( $row = mysql_fetch_num($result) ) {
		if( $row[0] == 1 ) {
			array_shift($online, $row[1]);
		} else {
			array_shift($offline, $row[1]);
		}
	}
	ksort($online); // und sortiert
	ksort($offline);

?>
 
Zurück