|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Nov 2000
Messaggi: 15499
|
[PHP] - Stringa binaria ---> "parole" ...
Scusate il titolo, non mi veniva in mente qualcosa di meglio
![]() Cmq sia, ho il seguente problema: Devo far scegliere al utente, per mezzo di checkbox, da 1 a 7 opzioni, quindi: [ ] opzione 1 [ ] opzione 2 [ ] opzione 3 [ ] opzione 4 [ ] opzione 5 [ ] opzione 6 [ ] opzione 7 [BOTTONE] L'utente mette le sue crocette, preme il bottone, e io in base alla selezione o meno concateno il tutto e lo inserisco in un campo database, ad esempio "1101001". PROBLEMA Qual'e il modo piu facile, seza fare una comparazione di 7! volte ( ![]() Prendendo l'esempio sopra, ricevando dal DB "1101001" io devo poter visualizzare: Opzione 1, Opzione 2, Opzione 4, Opzione 7 Idee? ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Intendi davvero 7 fattoriale? Te ne bastano 7:
Codice PHP:
|
![]() |
![]() |
![]() |
#3 | |
Bannato
Iscritto dal: Nov 2000
Messaggi: 15499
|
Quote:
Grazie della risposta, di questo passo dovrò offrirti da bere prima o poi ![]() Cmq ho adottato una soluzione del genere, però con un passaggio in piu. Per capire, $stringa_da_database[0] significa di considerare il primo carattere della stringa? |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Io farei così ma sicuramente esistono soluzioni più eleganti.
Apprezza la buona volontà. ![]() Codice:
$opz = array(); $str = '1101001'; for ($i=0;$i<strlen($str);$i++) { if($str[$i]==1) $opz[] = 'Opzione '.($i+1); } $opz = implode(', ',$opz); echo strlen($opz) > 0 ? $opz : 'Nessun elemento'; Ultima modifica di john_revelator : 18-07-2008 alle 20:24. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
|
Scusa la curiosità: ma perchè non usi 7 campi booleani nel DB?
__________________
Computers are like conditioned air: they work fine 'till you open windows. ![]() |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Dec 2005
Città: Siracusa / Pisa
Messaggi: 194
|
Io farei così:
Il form deve avere un array (o almeno, consideriamolo tale ![]() Codice HTML:
<input type="checkbox" name="opzione[0]" value="valore1" /> Opzione 1 <input type="checkbox" name="opzione[1]" value="valore2" /> Opzione 2 <input type="checkbox" name="opzione[2]" value="valore3" /> Opzione 3 Lato server potresti fare: Codice PHP:
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:05.