|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2005
Città: La Spezia
Messaggi: 103
|
[php] help per una query...
Salve gente,
ho la necessità di estrapolare dal mio db tutti i record dove il valore 3 sia presente all'interno di un determinato campo, qualunque sia la sua posizione rispetto ad altri numeri, potenzialmente presenti anch'essi nelle forme sottoelencate. Ad esempio: rec1 -> valore del campo : 3 .................. ( deve essere visualizzato il record ) rec2 -> valore del campo : 1,3................. ( deve essere visualizzato il record ) rec3 -> valore del campo : 3,5,9 .............. ( deve essere visualizzato il record ) rec4 -> valore del campo : 1,2,3,9 ............ ( deve essere visualizzato il record ) rec5 -> valore del campo : 2 .................. ( non deve essere visualizzato il record ) ecc.. Ecco la query che ho costruito : define("ewSqlWhere", "(proto.estensione LIKE '3' or proto.estensione LIKE '%,3' or proto.estensione LIKE '%,3,%' or proto.estensione LIKE '3,%' )", true); Nell'invitarvi ad analizzarla vi chiedo se puo' ritenersi corretta, questo a prescindere dal fatto che funzioni. In ogni caso, suppenendo che lo sia, ecco il vero punto di domanda: Vorrei sostanzialmente che il valore 3, da me in questo caso digitato direttamente nella query, fosse in realtà sostituito dal valore di una variabile presente nel file login.php, che il mio database esegue nella fase di apertura. La variabile è %username e la stessa puo' assumere valore 1,2,3,4,5,ecc. Concludendo quindi suppongo che dovrei far "migrare" il valore assunto dalla variabile nel file php iniziale, all'interno del file php successivo ( chiamato estensione.php ) e fare in modo che valorizzi la mia query. Spero di essere stato chiaro, un ringraziamento a tutti, Brostin |
![]() |
![]() |
![]() |
#2 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Dovrai "comporre" la query in questo modo: $query = "SELECT ......blabla WHERE proto.estensione LIKE '" . $num . "' or proto.estensione .....blabla"; Comunque, se stai usando MySQL, visto che i numeri sono separati da ',' puoi anche usare la funzione FIND_IN_SET, invece di testare tutte le varie possibilità. Esempio: SELECT ....blabla WHERE FIND_IN_SET('3',proto.estensione)
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:47.