Back to top

Autore Topic: FUNZIONI PER GESTIONE CHECKBOX IN COMPONENTE  (Letto 4549 volte)

Offline pedroadsl

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
FUNZIONI PER GESTIONE CHECKBOX IN COMPONENTE
« il: 13 Set 2006, 12:56:44 »
Ciao a tutti , non so se può essere utile , ma abbiamo creato un paio di funzioni per la visualizzazione e il salvataggio di valori in checkbox  multipli in un unico campo database eccovi il codice




/* Gestione della visualizzazione di checkbox multipli in un componente
con questa funzione potete utilizzare un campo database in cui visualizzare più
valori contenuti nello stesso campo
Autori : Andrea Silvestri andrea@dwb.it - Mirco Patroncini mirco@dwb.it
parametri :

a -> array di valori solitamente $row->nomecampodb
$num -> num elementi da visualizzare
$nomi -> array contenente descrizione a fianco dei checkbox

*/

function dwbCheckBox($a,$num,$nomi)
{
   $values=explode("\n",$a);
   $numele =$num;
   $nome = $nomi;
   $val="";
   $last=-1;
   $ret="";
             
   for($i=0;$i<$numele;$i++)
   {
             
      for($k=0;$k <count($values);$k++)
      {
         if($i+1 == $values[$k])
         {
             $val=$i+1;
            $ret= $ret."<input id=\"cb".$i."\" name=\"cid[]\" type=\"checkbox\" value=\"".$val."\" onclick=\"isChecked(this.checked);\" checked >".$nome[$i];
            $last=$i;
               
         }
               
      }
      if($last != $i)
      { 
         $val=$i+1;
               
         $ret=$ret."<input id=\"cb".$i."\" name=\"cid[]\" type=\"checkbox\" value=\"".$val."\" onclick=\"isChecked(this.checked);\" >".$nome[$i];   
      }
   }
      return $ret;
}


/* come utilizzare la funzione dwbCheckBox

*/

<input type="checkbox" name="toggle" value=""  onclick="checkAll(3);" />
<?
            

$nome = array('prova 1','prova 2','prova 3');
$myret= mosMioComponente::dwbCheckBox($row->cid,3,$nome);
rint $myret;
             
              ?>
             
             
             
            
               <input type="hidden" name="boxchecked" value="0" />




/*parte da aggiungere nel file admin.tuocomponente.php nella funzione salvataggio prima
della store sul database , permette di salvare i valori di checkbox multipli in un componente in un singolo campo db*/


$params = mosGetParam( $_POST, 'cid', '' );
   if (is_array( $params )) {
      $txt = array();
      foreach ( $params as $k=>$v) {
         $txt[] = "$v";
         
      }
      $row->cid = implode( "\n", $txt );
   }
   else
   {
      $row->cid ="none";
   }

 



Web Design Bolzano Kreatif