Welchen Wert hat ein Textfeld, wenn es leer ist?
Matze
- php
Hallo,
ich möchte ein Formular erstellen und dann nach dem Abschicken auf der nächsten Seite eine SQL-Suche starten. Textfelder, die nicht gefüllt wurden, sollen jedoch nicht berücksichtigt werden.
Ich habe nun mit IF-sätzen die Felder abgefragt, aber irgendwie funktionert das nicht. Auf welchen Wert muss ich diese Felder abprüfen, wenn nix drinnen steht?
Bisher sieht es folgender maßen aus:
$query = "SELECT * FROM tuser where ShortName like '%$txtUsername%' ";
if($cmbSex != 'nothing')
{
$query."and Sex='$cmbSex' ";
}
if($txtAgeFrom != "" && $txtAgeTo != "")
{
$query."and (to_days(curdate())-to_days(Birthday))/365 between '$txtAgeFrom' and '$txtAgeTo'";
}
if($txtZipcode != "")
{
$query."and Zipcode like '%$txtZipcode%'";
}
if($cmbHeight1 && $cmbHeight2 != 'nothing')
{
$query."and Height between '$cmbHeight1' and '$cmbHeight2'";
}
if($cmbWeight1 && $cmbWeight2 != 'nothing')
{
$query."and Weight between '$cmbWeight1' and '$cmbWeight2'";
}
if($cmbEyeColor != 'nothing')
{
$query."and EyeColor = '$cmbEyecolor'";
}
if($cmbHairColor != 'nothing')
{
$query."and HairColor = '$cmbHaircolor'";
}
if($cmbFamilystate != 'nothing')
{
$query."and FamilyState = '$cmbFamilystate'";
}
if($cmbChildren != 'nothing')
{
$query."and Children = '$cmbChildren'";
}
if($cmbCharacter != 'nothing')
{
$query."and Charact = '$cmbCharacter'";
}
if($cmbAppearance != 'nothing')
{
$query."and Appearance = '$cmbAppearance'";
}
CMB bedeuten in diesem Fall Auswahlboxen, die im nicht selektierten Status den Wert 'nothing' haben, aber auch das geht nicht.....
Vielleicht kann mir irgendjemand helfen?
Hallo,
if($deinfeld == "")
{
//Feld ist leer
}
Wenn der User Space drückt, so stimmt die Eingabe nicht mehr
MFG
Andavos
Hallo,
if($deinfeld == "")
{
//Feld ist leer
}
oder: if(!$deinfeld)
0, null und Leerstring gelten als false.
Gruß, Andreas
Hello,
$query = "SELECT * FROM tuser where ShortName like '%$txtUsername%' ";
if($cmbSex != 'nothing')
{
$query.="and Sex='$cmbSex' ";
}
Schau Dir mal Deine String-Concatination genauer an.
Grüße
Tom
if($cmbSex != 'nothing')
{
$query.="and Sex='$cmbSex' ";
}
Schau Dir mal Deine String-Concatination genauer an.
Grüße
Tom
Ok, habs bemerkt und jetzt geändert in:
$query = $query.="and Sex='$cmbSex' ";
Jetzt gibt es aber überhaupt keine Suchergebnisse mehr! Ich sehe den Fehler einfach nicht....
Hello Matze,
Ok, habs bemerkt und jetzt geändert in:
$query = $query.="and Sex='$cmbSex' ";
Ich hoffe, bei allen Verkettungen...
Jetzt gibt es aber überhaupt keine Suchergebnisse mehr! Ich sehe den Fehler einfach nicht....
Und was sagt mysql_error() ?
Grüße
Tom
Und was sagt mysql_error() ?
Es gibt keinen Fehler! Es funktionert nur nicht! Natürlich habe ich das jetzt bei allen Verkettungen geändert. Ich weiss einfach nicht, warum es nicht klappt. Für mich sieht es theoretisch richtig aus....
Matze
Hello,
da gibt's nur eins:
Alles auskommentieren und langsam wieder aufbauen. Dabei immer alle
möglichen Fehlermeldungen anzeigen.
Du kannst j anoch einen Parameter an das Script mitgeben und um jede
Erweiterung des Statements eine Bedingung bauen.
if ($_GET["p"]>1) ...
if ($_GET["p"]>2) ...
if ($_GET["p"]>3) ...
Dann brauchst Du das Script nur einmal hochzuladen und immer nur mit
dem geänderten Parameter aufrufen. Spart Zeit.
GrüÃe
Tom