Hallo,
ich möchte zu einer Datenbank mit Nutzerdaten (Anrede, Name, Anschrift, Alter etc...) eine Selektion durchführen. Das heißt entweder, es werden alle Datensätze angezeigt oder je nach Eingaben in einem Formular nur bestimmte. Grundsätzlich ist das kein Problem für mich, allerdings ist die Auswertung des Formulars scheinbar ziemlich aufwendig. Vielleicht könnt ihr mir hier weiterhelfen, wie ich das evtl. besser machen kann.
Im Detail:
Das Formular beinhaltet momentan nur Zwei Input-Felder für das Geburtsjahr (von, bis), zwei für PLZ (von, bis) und noch einige andere die aber unwichtig sind. Mir gehts um diese von-bis-Felder.
Also grundsätzlich habe ich es so gemacht, dass ich abhängig von den Eingaben einen SQL-String zusammenbaue den ich ganz zum Schluss abschicke. Das sollte ja erstmal ok sein oder?
Was mir jtezt genau Kopfschmerzen bereitet ist die Auswertung von-bis.
Bei mir sieht das etwa so aus:
if ($_POST['zip_from'] AND $_POST['zip_to'] AND ctype_digit($_POST['zip_from']) AND ctype_digit($_POST['zip_to'])) {
$sql .= " WHERE zip BETWEEN '".$_POST['zip_from']."' AND '".$_POST['zip_to']."'";
} elseif ($_POST['zip_from'] AND ctype_digit($_POST['zip_from'])) {
$sql .= " WHERE zip >= '".$_POST['zip_from']."'";
} elseif ($_POST['zip_to'] AND ctype_digit($_POST['zip_to'])) {
$sql .= " WHERE zip <= '".$_POST['zip_to']."'";
}
Geht das wirklich nicht leichter? ich muss dsa ja immerhin für alle entsprechenden von-bis-Felder machen...irgendwie gefällt mir die Lösung nicht...
Vielen Dank schon mal