- Home
- Categorie
- Coding e Sistemistica
- PHP
- Query con WHERE che cerca in una variabile del tipo 11,23,45
-
Query con WHERE che cerca in una variabile del tipo 11,23,45
Voglio fare apparire un banner solamente in alcune pagine di una sezione.
La query che controlla se la pagina in questione deve visualizzare o meno il banner è del tipo:SELECT * FROM adv WHERE adv_type = 'header' AND page = '$id_page' "); ```Quando aggiungo un banner voglio che esso appaia nelle pagine: 11,23,45. Voglio salvare questa informazione in una sola variabile. Come posso fare poi la ricerca con la query? Devo spezzare la variabile e poi fare la ricerca? Oppure esiste una funzione mysql simile a LIKE o qualcosa di simile? GRAZIE
-
Ciao fabiothe2nd
La funzione LIKE esiste in MySQL, solo che non ho ben capito il tuo problema, la variabile $id_page non contiene già il numero pagina?
Se si, ti basterà un if per controllare che la pagina sia quella da te voluta e quindi effettuare l'estrazione dal DB. Spero di aver compreso il tuo problema.
-
Risolto ho usato la funzione LIKE.
Ora devo solo capire come da un FORM nel quale una persona può spuntare diverse opzioni, creare una stringa del tipo 11,23,45 (ogni opzione del forum corrisponde ad un numeretto).
-
Se associ alla checkbox il valore che ti serve al recupero dei dati puoi creare la tua stringa seguendo la seguente sintassi:
[php]$stringa=$valore1.",".$valore2.",".$valore3;[/php]
-
Mhhh, geniale, basta che i checkbox non checcati abbiamo come valore niente, ovvero una cosa del genre:
""
però mi salvo una stringa composta da molte , del tipo:
,,,,,,,1,,,,,123,,,,,,,,567,,,,,,,
-
Beh, senza andare a creare una stringa piena di valori nulli ti basta verificare quali delle variabili è diversa da NULL, puoi utilizzare la funzione empty, e quindi creare la tua stringa