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']."'";
}
// alle möglichen Parameter einmalig definiert:
// - name = $POST-Parameter, sprich HTML-Variablenname
// - type = Datentyp; zeigt uns, wie wir später damit umgehen
// - coloper = DB-Spaltenname und Operand
$aParam= array
( array( 'name'=> 'zip_from', 'type'=> 'int', 'coloper'=> 'zip>= ' )
, array( 'name'=> 'zip_to', 'type'=> 'int', 'coloper'=> 'zip<= ' )
);
$sWhere= '';
foreach( $aParam as $v1 ) { // alle übergebenen Parameter durchlaufen
if( isset( $_POST[$v1['name']] ) ) { // kennen wir einen davon?
if( $v1['type']== 'int' ) { // Datentyp "integer"
if( ctype_digit( $_POST[$v1['name']] ) ) { // ist es auch wirklich eine Zahl? Ansonsten ignorieren
$sWhere.= ' AND '. $v1['coloper']. (int)$_POST[$v1['name']]; // WHERE-String erweitern
}
} else die( 'unbekannter typ: '. $v1['type'] ); // unbekannter Datentyp
}
}
// überhaupt Text zusammengesetzt worden? Dann erste AND durch WHERE ersetzen
if( $sWhere!= '' ) $sWhere= ' WHERE '. substr( $sWhere, 5 );
Augen färben oder Stileffekte einfügen mit Photoshop
Endless_Online 13.03.2009 - 8231 Hits - 4 Antworten
Erscheinende Textbox bei mousover Javascript
Computerfreaki 01.04.2008 - 14 Hits - 3 Antworten
UPDATE in einer javascript abfrage?
kibs 31.03.2008 - 7 Hits - 1 Antwort
eregi_replace mit function ?
Fassy91 29.03.2008 - 27 Hits - 1 Antwort
Hilfe: Codes vereinfachen: Loop?
VBA-Rookie 16.12.2008 - 10 Hits - 5 Antworten