Problem mit $counter
Nico
- php
0 ThomasP0 Knud Schröder0 Nico
Hallo,
untenstehender Code gibt ein Raetsel auf, fuer das ich bisher keine Loesung fand. Bitte helft.
Wenn das Ergebnis 0 ist, wird angezeigt: "0 Ergebnisse gefunden:".
Wie muss ich den Code umschreiben bzw. ergaenzen, damit bei 0 Ergenissen die else - Anweisung greift?
Beste Gruesse
Nico
-----------------------------------------------
$sql2 = "select count(*) from table where ...";
if($count=mysql_query($sql2)){
list($counter)=mysql_fetch_row($count);
echo "$counter Ergebnis(se) gefunden:";
}else{
echo "Keine Ergebnisse gefunden. Bitte wenden Sie sich ...";
die("</body></html>");
}
-----------------------------------------------
Hallo Nico!
mit deine pruefung ermittelst du nur, ob die abfrage erfolgreich war (testen kannst du so etwas, wenn du es in der kommandozeile von mysql eingibst).
du musst $counter auf 0 pruefen.
if(0!=$counter)
{
echo "juhu!!!\n";
}else{
echo "son mist!\n";
}
Gruß
Thomas
Hallo Nico!
untenstehender Code gibt ein Raetsel auf, fuer das ich bisher keine Loesung fand. Bitte helft.
Ich werd's veruschen, obgleich auch ich erst mit PHP angefangen habe ==> Angaben ohne Garantie auf
Richtigkeit!
Ich glaube, in Deinem Fall würde nur dann in den else-Zweig zerzweigt (tolles deutsch), wenn $count noch
keinen Wert erhalten hat, sozusagen nach Initialisierung oder halt NIL.
Da aber auch 0 ein Wert ist, läuft er immer in den ersten Zweig hinein.
Ich würds einfach mal mit der folgenden Version testen:
$sql2 = "select count(*) from table where ...";
$count=mysql_query($sql2);
if ($count > 0) {
list($counter)=mysql_fetch_row($count);
echo "$counter Ergebnis(se) gefunden:";
} else {
echo "Keine Ergebnisse gefunden. Bitte wenden Sie sich ...";
die("</body></html>");
}
Ich bin mir nicht sicher, ob meine Erklärung stimmt, aber ich denke die Lösung wird funktionieren!
der auch noch viel zu lernende
Knud
Hallo Knud, hallo Thomas,
herzlichen Dank fuer Eure Loesungsvorschlaege!
Beste Gruesse und ein schoenes Wochenende
Nico, der wieder etwas dazugelernt hat