Nummern werden nicht erkannt

Obi_Wan

Mitglied
Hi,

ich habe hier in einer Datenbank ein paar zahlen in einer Spalte die den Typ Int hat abgespeichert.

Ich lese sie aus dem PHP aus und will einen vergleich machen ob sie größer oder kleiner ist als die Zahl die man angegeben hat.

Nur scheint er bei beiden Variablen nicht zu erkennen das es Zahlen sind :-/

Kann mir wer sagen wo dran das liegen kann?

Es ist ungefähr so gebaut
query...
result...
row...
$a=$row['zahl'];
und dann if ($a>$b) { a is größer } else { b is größer }....
Der nimmt immer nur den zweiten output egal wie rum ich das > setze. habs auch schon mit 2 > versucht aber das hat auch nichts gebracht.

Wenn das hier schon irgentwo beantwortet wurde kann mir jemand sagen wo ich das finde?

Obi
 
PHP:
$query="SELECT * FROM werte WHERE id='$id'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$a=$row['wert'];
if($a>$b)
{
echo"a ist größer";
}
else
{
echo"b ist größer";
}

Da kommt immer nur das Zweite. Wenn ich das was ich in else hab in einen extra if mach dann zeigt er überhaupt nichts an.

Edit:

Ich hab mal versucht die beiden werte auszugeben per echo und da stehn die erforderlichen Zahlen drin. Ich frag mich deswegen warum es nicht klappt.
 
Zuletzt bearbeitet:
probier mal folgendes:

$row[wert] oder mit "" anstatt $row[''] - wär vielleicht eine Möglichkeit.


Ansonsten parse die Werte zum Integer, da sie mit Sicherheit als String vorliegen. siehe de.php.net
 
Ganz nebenbei: Was ist, wenn die Zahlen gleich groß sind?
PHP:
if ((int)$a > (int)$b) echo "a ist größer";
elseif ((int)$a == (int)$b) echo "Die zahlen sind gleich groß";
elseif ((int)$a < (int)$b) echo "b ist größer";
 
Zurück