Probleme bei einem kleiner als Vergleichen

SantaCruze

Erfahrenes Mitglied
Hallo Zusammen . Und zwar habe ich ein kleines Problem. Ich will aus der Datenbank einen Punktewert auslesen mit der Funktion hier

PHP:
	    function get_planet_newbie($checkpos)
    {
        $db_gpu = new cl_extended_database();
		$db_gpn = new cl_extended_database();
        
        $ret = -1; //Koordinaten gibt's nicht!

        $g = $checkpos['gal'];
        $s = $checkpos['sys'];
        $p = $checkpos['plan'];

        $db_gpu->query("SELECT userid FROM planets WHERE gal='$g' AND sys='$s' AND plan='$p';");
        $db_gpu->err();
        
        if($row_gpu = $db_gpu->fetch())
        {
            $newbieid = $row_gpu['userid'];
        }
        $db_gpn->query("SELECT userid,punkte,art FROM user_statistik WHERE art='all' AND userid='$newbieid';");
        $db_gpn->err();
		if($row_gpn = $db_gpn->fetch())
        {
            $row_gpn['punkte'];
        }
		return $row_gpn;	
    }


Und er soll mir dann in dem Script sagen ob es möglich ist den Spieler anzugreifen oder halt eine Fehlermeldung ausgeben.

PHP:
			$row_gpn = $db->get_planet_newbie($checkpos);
			$raidpunkte = 10000;
            if($row_gpn <= $raidpunkte )
			{
                $x = 1;
                $err = "Dieser Spieler befindet sich im Newbie Schutz ! Aktion kann nicht durchgeführt werden!";
                $smarty->assign("err", $err);
            }

Nun habe ich halt die Variable aus der Funktion genommen die mir die Punkte berechnet, und eine Variable mit einer festen Punktzahl. Allerdings zeigt er mir die Meldung das es möglich ist nach Laune an, sprich er ignoriert das > zeichen gänzlich.
 
Hast du schon die beiden Variabeln $row_gpn und $raidpunkte mit echo ausgegeben und überprüft ob die Variablen einen Wert haben?
 
$row_gpn ist in der Funktion ein Array .... aber in der if Abfrage behandelst du es wie eine normale Variable.... du musst die Punkte dort auch über $row_gpn['punkte'] ansprechen.:)

oder in der Funktion statt dem ganzen Array einfach nur die Punkte zurück geben. Also statt

PHP:
return $row_gpn;

dann einfach:

PHP:
return $row_gpn['punkte'];

MfG
blueX :)
 
Zuletzt bearbeitet:
Zurück