Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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) )

{....

Geschrieben

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;)

Geschrieben

$startPos = $_GET['startPos'];

$startPos = $startPos - 1;

Du rechnest also bei einem String oder Leerstring einfach -1? :D

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

Geschrieben

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)."";

...

Geschrieben

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;)

Geschrieben

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 ;)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...