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";
}