- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema SELECT, AND, OR
-
Problema SELECT, AND, OR
Ciao a tutti, ho un problemino da risolvere riguardo una istruzione in PHP per selezionare dei record in una tabella:
dalla tabella NEGOZI devo soddisfare ENTRAMBE le 2 condizioni:
- il negozio deve essere attivo (WHERE disattivo = FALSE)
- almeno uno dei due valori deve essere superiore a 0 (percentuale_visita > 0 OR importovisita > 0)
pertanto ecco la Select che ho formato:
SELECT * FROM negozi WHERE disattivo = FALSE AND (percentuale_visita > 0 OR importovisita > 0)
Malgrado ciò, il programma php interpreta questo comando nel seguente modo:
- disattivo = FALSE AND percentuale_visita > 0
- importovisita > 0
che non e' giustamente quello che voglio ottenere. Qualcuno sa aiutarmi?
GRAZIEEEE
-
Ciao,
quando crei le query inserendo and e or , devi usare anche le parentesi in modo appropriatoSELECT * FROM negozi WHERE (disattivo = FALSE) AND ((percentuale_visita > 0) OR (importovisita > 0))
-
Problema risolto.
Purtroppo non mi ero accorto che c'e' un altra parte di programma che esegue un altra serie di query ma senza parentesi e quindi quando il programma passava in quella zona non funzionava.
Comunque la query funziona perfettamente in questo modo:
$sql = "SELECT * FROM negozi WHERE disattivo = FALSE AND (importovisita > 0 OR percentuale_visita > 0)";
e' sufficiente inserire solo queste due parentesi! Testato e funzionante.
Grazie comunque a tutti per l'attenzione.