Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 19-07-11, 13:45   #1 (permalink)
User
 
L'avatar di danny1975
 
Data di registrazione: Jun 2007
Messaggi: 377
Checkbox dinamiche

Un saluto a tutti.
Ho un problemino con delle check, vi spiego:
ho dei dati nel db sotto la voce accessori

Codice PHP:
$a_articolo=explode(",", $articolo['accessori']);
 $a_nome_accessori = array('a1'=>'Abs','a2'=>'Esp','a3'=>'Airbag guidatore',
   'a4'=>'Airbag passeggero','a5'=>'Airbag laterale','a6'=>'Fendinebbia',
   'a7'=>'Chiusura centralizzata','a8'=>'Servosterzo','a9'=>'Alzacristalli elettrici',
   'a10'=>'Autoradio','a11'=>'Lettore cd','a12'=>'Comandi al volante',
   'a13'=>'Computer di bordo','a14'=>'City','a15'=>'Antifurto',
   'a16'=>'Clima digitale','a17'=>'Clima analogico','a18'=>'Cerchi in lega',
   'a19'=>'Immobilizzatore elettronico','a20'=>'Navigatore','a21'=>'Tetto panoramico',
   'a22'=>'Tetto apribile','a23'=>'Cruise control','a24'=>'Regolatore elettronico sedile',
   'a25'=>'Interni in pelle','a26'=>'Interni in alcantara','a27'=>'Sedili riscaldabili',
   'a28'=>'Barre tetto','a29'=>'Trazione integrale','a30'=>'Controllo trazione',
   'a31'=>'Sensori luci','a32'=>'Sensori pioggia','a33'=>'Sensori parcheggio anteriori',
   'a34'=>'Sensori parcheggio posteriori','a35'=>'Cambio manuale','a36'=>'Cambio automatico',
   'a37'=>'Fari xenon','a38'=>'Caricatore cd','a39'=>'Bluetooth',
   'a40'=>'Gancio traino','a41'=>'Adatto handicap');
 for($e=0; $e<count($a_articolo); $e++)
  {
   for($f=1; $f<42; $f++)
    {
     if($a_articolo[$e]==$a_nome_accessori["a". $f])
      {
       $a_cod_accessori[]="a". $f;
      }
    }
  }
<td>
   <input type="checkbox" name="a2"
    <?php
     
for($g=0$g<count($a_cod_accessori); $g++)
      {
       if(
$a_cod_accessori[$g]=="a2")
        {
         print
" checked";
        }
      }
    
?>
   >
  </td>
Con il codice sopra riportato il problema lo risolvo, ma mi toccherebbe scrivere 42 volte le righe del codice della check

Invece adesso vi porgo l'altra cosa che vorrei fare se si può, diciamo che vorrei rendere le check dinamiche e con poche righe sostituire le 42

Codice PHP:
$a_articolo=explode(","$articolo['accessori']);
   
$a_optional=array('Abs''Esp''Airbag guidatore''Airbag passeggero''Airbag laterale''Fendinebbia',
        
'Chiusure centralizzate''Servosterzo''Alzacristalli elettrici''Autoradio',
        
'Lettore cd''Comandi al volante''Computer di bordo''City''Antifurto acustico',
        
'Antifurto satellitare''Blockshaft''Clima digitale''Clima analogico''Cerchi in lega',
        
'Immobilizzatore elettronico''Navigatore''Tetto panoramico''Tetto apribile',
        
'Specchi laterali elettrici''Cruise control''Regolazione elettronica sedili',
        
'Interni in pelle''Interni in alcantara''Sedili riscaldabili''Barre tetto',
        
'Trazione integrale''Controllo trazione''Sensori luci',
        
'Sensori pioggia''Sensori parcheggio anteriori''Sensori parcheggio posteriori',
        
'Cambio manuale''Cambio automatico''Fari xenon''Caricatore cd''Bluetooth''Attacco usb',
        
'Gancio traino''Adatto handicap');
   
   
$lungh_arraycount($a_optional);
   
$riga=1;
<
table cellpadding='0' cellspacing='0' border='0' bordercolor='#23D527'>";
          for($f=0; $f<$lungh_array; $f++)
           {
            if($riga == 1)
             {
              print"
<tr>"; 
             }
            if($a_optional[$f] == '$f[$a_optional . $f]')
             {
              print"
               
<td width='200' class='testo'>
                <
input type='checkbox' name='$f' checked='checked'>$a_optional[$f]
               </
td>";
             }
            else
             {
              print"
               
<td width='200' class='testo'>
                <
input type='checkbox' name='$f'>$a_optional[$f]
               </
td>";
               $riga++;
             }
            if($riga > 3)
             {
              print"
</tr>";
              $riga=1; 
             }
           }
          print"
          
</table
Secondo me c'è qualche problema, potreste aiutarmi?
Grazie spero di essere stato chiaro
Danny

Ultima modifica di Leonov : 19-07-11 15:15. Motivo: Maiuscole; font non conforme.
danny1975 non in linea   Rispondi citando
Vecchio 19-07-11, 13:52   #2 (permalink)
User
 
L'avatar di danny1975
 
Data di registrazione: Jun 2007
Messaggi: 377
Scusatemi, chiedo gentilmente ai moderatori di spostere questa discussione in php lato server, sono dispiaciuto ma non me ne ero accorto. Grazie

Ultima modifica di Leonov : 19-07-11 15:15. Motivo: Ripristino formato standard.
danny1975 non in linea   Rispondi citando
Vecchio 20-07-11, 10:34   #3 (permalink)
User
 
Data di registrazione: Oct 2006
Messaggi: 287
Invia un messaggio tramite Skype a mikslap
Quote:
danny1975 Visualizza il messaggio
Scusatemi, chiedo gentilmente ai moderatori di spostere questa discussione in php lato server, sono dispiaciuto ma non me ne ero accorto. Grazie
Ti chiedo, descrivendo in poche righe, cosa vorresti fare perchè negli esempi non ho ancora percepito.
mikslap non in linea   Rispondi citando
Vecchio 20-07-11, 11:48   #4 (permalink)
User
 
L'avatar di danny1975
 
Data di registrazione: Jun 2007
Messaggi: 377
Ciao, devo prendere dei dati dal db e verificarne l'esistenza, se "si" allora creami una check piena, se "no" creami una chek vuota
ci sono 2 esempi, nel primo il problema è risolto, ma mi tocca scrivere questo codice tante volte fino a soddisfare il numero di accessori
Codice HTML:
<td>
                                                            <input type="checkbox" name="a42" class="testo"
                                                                <?php
                                                                    for($g = 0; $g < count($a_cod_accessori); $g++)
                                                                        {
                                                                            if($a_cod_accessori[$g]=="a42")
                                                                                {
                                                                                    print" checked";
                                                                                }
                                                                        }
                                                                ?>
                                                            >
                                                        </td>
                                                        <td class="testo">
                                                         Bluetooth 
                                                        </td>
mentre nel secondo stavo cercando di evitare di scrivere tante volte le righe in modo da rendere il tutto più dinamico.
Spero di essere stato chiaro anche se potrei fare di meglio
Ciao da Danny
danny1975 non in linea   Rispondi citando
Vecchio 25-07-11, 14:28   #5 (permalink)
User
 
L'avatar di Lumpi
 
Data di registrazione: Sep 2006
Ubicazione: Italia
Messaggi: 127
Ciao,
così.. su 2 piedi....

scorri $a_optional -> controlli l'esistenza in $a_articolo con in_array ... se esiste crei la checkbox "ceccata" altrimenti la crei vuota...

Dovrebbe funzionare...
__________________

Lumpi non in linea   Rispondi citando
Vecchio 26-07-11, 10:31   #6 (permalink)
User
 
L'avatar di danny1975
 
Data di registrazione: Jun 2007
Messaggi: 377
Ciao, sto facendo diversi tentativi, ma a farlo sembra più difficile che a dirlo, Grazie da danny
danny1975 non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:35.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.