Ricerche da select

Ciao,

vorrei realizzare un semplice motore di ricerca da 2 select (dei form). Una per le regioni e un'altra per le categorie. Ora non riesco a capire come fare, visto che l'utente può selezionarne una o l'altra o entrambe. Se ad esempio l'utente usa entrambe le select si crea la query ....WHERE regione='Liguria' and categoria='Moto' e va bene ma se uno cercasse solo la regione liguria o moto uscirebbe un casino, mi ci vorrebbe tipo un carattere jolly :)!!

Non riesco a capire la logica!!!

Aiuto.

Ciao

inviato 8 anni fa
Gioge
X 0 X

Hai 2 alternative: comporre la query dinamicamente, in funzione della/e select selezionate. In pratica dovresti creare la query attaccando diversi pezzi in modo da mettere solo le condizioni di WHERE che ti servono

L'atra strada consiste nello scrivere una query di questo tipo:

SELECT ... WHERE  ('*' = '$regione' OR regione = '$regione') AND ('*' = '$categoria' OR categoria= '$categoria')

Siccome in una OR, appena la prima condizione è verificata la seconda non viene nemmeno presa in considerazione, se a $regione passi '*' allora la condizione regione = '$regione' non verrà considerata. Stessa cosa per categoria.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
modificato 8 anni fa
X 0 X

La 1 alternativa la immaginavo ma volevo evitarla, alla 2 non ci pensavo neanche lontanamente ma la trovo stupenda e la userò anche in altri ambiti.

GRAZIE

Ciao

risposto 8 anni fa
Gioge
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda