Veröffentlicht 14. September 200520 j Hi. Ich will eine If-Anweisung machen. Wenn a nicht grösser 0 ist, soll ein echo ausgegeben werden. Ich dachte erst: if (a !> 0) { echo "..."; } Aber das ist es nicht. Kann mir das jemand sagen, wie ich das schreiben muss?
14. September 200520 j Jetzt habe ich grade überlegt ob ich blöde bin-.- Aber mir fiel es wieder ein: Es geht darum, dass bei ner gewissen action a = "" ist. Also, leer. Von daher wäre '<=' nicht richtig! Und bevor es kommt: If($a = "") <= funktioniert nicht, auch nicht mit "==". EDIT: Vielleicht gibts ja was ähnliches wie: If ($a (keine zahl/keine zahl über 0) ) {....
14. September 200520 j strlen() in kombination mit <= 0 würde ich mal vermuten - brauche aber mehr input
14. September 200520 j Input was loaded..... Hier ist das Formular, mit 2 Eingabefeldern. Wenn ich in beiden etwas gültiges eingebe, zeigt er mir alles korrekt an. wenn ich in einem oder keinem feld etwas eingebe, soll er mir einfach alle datensätze anzeigen. aber er zeigt dann gar nichts an. <form name='mf' action='{$_SERVER['PHP_SELF']}' method='GET'> <input type='text' name='startPos' color='#000000' value='Anzeige ab Item-Nr:'> <input type='text' name='itemsPage' color='#000000' value='Anzahl der anzuzeigenden Items:'> <input type='submit' name='Pos_suche' value='Anzeigen'></br> </form> Die Werte der Eingabefelder werden in folgendes 'action' übergeben: if (isset($_GET['startPos'])) { $startPos = $_GET['startPos']; $startPos = $startPos - 1; $itemsPage = $_GET['itemsPage']; $sql = "SELECT * FROM Testfall WHERE 1 LIMIT ".mysql_escape_string($startPos).",".mysql_escape_string($itemsPage).""; if($startPos !> 0) { $sql = "SELECT * FROM Testfall WHERE 1 LIMIT 0,250"; } }else $sql = "SELECT * FROM Testfall WHERE 1 LIMIT 0,250"; <= Hab ich probiert, funktioniert aber nicht. Habe das betroffene fett gemacht. $a ist hier $startPos;)
14. September 200520 j Da hauptsache du weißt bald was du willst If ($a (keine zahl/keine zahl über 0) ) {.... Öhm... Wenns keine Zahl ist, kann sie auch nicht über 0 sein Prüfen obs ne Zahl ist geht mit is_numeric: http://de2.php.net/manual/de/function.is-numeric.php
14. September 200520 j $startPos = $_GET['startPos']; $startPos = $startPos - 1; Du rechnest also bei einem String oder Leerstring einfach -1? mach das mal zu: $startPos = $_GET['startPos']; if(strlen($startPos) == 0) $startPos = 0; $startPos = $startPos - 1; ... falls das deinen Erwartungen entspricht Edit: is_numeric ist aber ein guter Tipp ^^ würd ich benutzen
14. September 200520 j So würd ich das machen: ... $sql = "SELECT * FROM Testfall WHERE 1 LIMIT 0,250"; if($startPos > 0) $sql = "SELECT * FROM Testfall WHERE 1 LIMIT ".mysql_escape_string($startPos).",".mysql_escape_string($itemsPage).""; ...
14. September 200520 j Jop, so funktionierts: if (isset($_GET['startPos'])) { $startPos = (int) $_GET['startPos']; $startPos = $startPos - 1; $itemsPage = (int) $_GET['itemsPage']; $sql = "SELECT * FROM Testfall WHERE 1 LIMIT 0,250"; if($startPos > 0) $sql = "SELECT * FROM Testfall WHERE 1 LIMIT ".mysql_escape_string($startPos).",".mysql_escape_string($itemsPage).""; } Vielen Dank;)
14. September 200520 j Ich machs immer so: if (!($var > 0)) die ("Blub"); Ist halt nur die Frage, wie es sich bei Strings verhält, Probleme hatte ich aber noch nie, vermultich validier ich vorher schon zu gut
14. September 200520 j Das glaube ich dir aufs Wort;) Ach, und deine Lösung hab ich ums verrecken nicht kapiert-.- habe jetzt für $startPos und $itemsPage jeweils ein Eingabefeld. Obwohl ichs anders realisieren wollte;)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.