Salve a tutti.
Ho un form che effettua una ricerca degli immobili nel database, ma ho una problematica.
Posto lo script per essere piu chiaro:
...
$prezzoDA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoDA'] )) ? $_POST['prezzoDA'] : 0;
$prezzoA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoA'] )) ? $_POST['prezzoA'] : 0;
if ($prezzoA > $prezzoDA) {
$prezzoA = $prezzoDA;
}
if ($prezzoDA > 0 && $prezzoA > 0) {
$sql .= " AND prezzo BETWEEN {$prezzoA} AND {$prezzoDA}";
} else if ($prezzoDA > 0 && $prezzoA <= 0) {
$sql .= " AND prezzo >= {$prezzoDA}";
} else if ($prezzoDA <= 0 && $prezzoA > 0) {
$sql .= " AND prezzo <= {$prezzoA}";
}
...
Ho i campi nel form "prezzoDA" e "prezzoA" che l'utente che effettua la ricerca inserisce.
Il problema è che se inserisce la cifra con il puntino separatore delle migliaia (es. 150.000) la ricerca non funziona correttamente, mentre se inserisce la cifra per intero (es. 150000) funziona correttamente.
La mia domanda è:
Come ovviare a questo?
Avevo pensato a fare un menu a tendina per il prezzo:
da 0 a 100.000
da 100.000 a 200.000
ma non ho idea di come agire sullo script.
grazie per eventuali risposte.