[PHP] Variabile da multipla Checkbox

  • Creatore Discussione Creatore Discussione bubino8
  • Data di inizio Data di inizio

bubino8

Utente Attivo
28 Apr 2017
360
20
28
32
BZ
Buonasera,

Ho bisogno di inserire i giorni lavorativi di un dipendente da una checkbox dei giorni della settimana.
A mia modo ho fatto questo ma ogni tanto mi complico la vita più del dovuto per niente.
Premetto che funziona, ma volevo sapere se ci sono altri modi più semplici per fare ciò?

Form:
PHP:
<?php
    $conta = 0;
    echo 'Lun<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Mar<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Mer<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Gio<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Ven<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Sab<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Dom<input type="checkbox" name="giorni'.$conta.'" value="1">';
?>

Recupero nella pagina
PHP:
$nr = 0;
for($r=0; $r < 7; $r++){
        if(isset($_POST['giorni'.$nr])){
            $var[$r] = "1";
        }
        else{
            $var[$r] = "0";
        }
        $nr++;
}
$giornidilavoro = $var[0].",".$var[1].",".$var[2].",".$var[3].",".$var[4].",".$var[5].",".$var[6];



Grazie
Elia
 
Ciao, in un modo o in un altro l'importante è che funziona :)
PHP:
<?php
$days = array("lun", "mar", "mer", "gio", "ven", "sab", "dom");
if (isset($_POST['invia'])) {
    $gg = array();
    foreach ($days as $key => $value) {
        $gg[] = isset($_POST['giorni'][$key]) ? 1 : 0;
    }
    echo implode(",", $gg);
}
?>
<form method="post">
    <?php
    foreach ($days as $key => $value) {
        echo "$value<input type='checkbox' name='giorni[$key]'/>";
    }
    ?>
    <input type="submit" name="invia"/>
</form>
 
Ciao,
hehe hai ragione:D, molte volte per fare semplici funzioni mi incasino e scrivo righe inutili e allungo il codice eccessivamente quindi cerco sempre di tenerlo più pulito possibile.

Comunque grazie per la risposta.
 

Discussioni simili