Mysql
 sql >> Database >  >> RDS >> Mysql

Aggiornamento delle caselle di controllo già selezionate in PHP

Quello che ho fatto in passato, per risparmiare centinaia di linee di rigonfiamento, è questo...

Per prima cosa compila tutto l'html in una variabile, senza istanze "controllate".

$boxes = '';
$boxes .= '<input type="checkbox" name="utility[]" id="utility[]" value="Water" />Water<br />';
$boxes .= '<input type="checkbox" name="utility[]" id="utility[]" value="Cable" />Cable<br />';
$boxes .= '<input type="checkbox" name="utility[]" id="utility[]" value="Electricity" />Electricity<br />';

Ora esamino la tua matrice di campi da controllare. Anche qui ho fornito un array di esempio.

$already_checked = array('Water', 'Electricity');

foreach( $already_checked as $ac ) {
    $find = 'value="' . $ac . '"';
    $replace = $find . ' checked="checked"';
    $boxes = str_replace($find, $replace, $boxes);
}

echo $boxes;