Hai ragione, al posto di select ci va chiusura1.
Ho aggiornato il codice come segue:
codice:
<script>
function changefema(value) {
if (value == "-off-") {
document.getElementById("chiusura1").innerHTML = "<option selected disabled>Chiuso</option>";
} else {
document.getElementById("chiusura1").innerHTML = "<option selected value='<?php $chfema; ?>'>Chiusura lun./ven. mattina:</option><option>10:30</option><option>11:00</option><option>11:30</option><option>12:00</option><option>12:30</option><option>13:00</option><option>13:30</option><option>14:00</option>";
}
}
change("-off-");
</script>
<select name="apfema" onchange="changefema(this.value)">
<option selected value="<?php $apfema; ?>">Apertura lun./ven. mattina:</option>
<option>7:30</option>
<option>8:00</option>
<option>8:30</option>
<option>9:00</option>
<option>9:30</option>
<option>10:00</option>
<option>10:30</option>
<option>11:00</option>
<option>11:30</option>
<option>12:00</option>
<option value="-off-">Chiuso</option>
</select> - Corrente: <?php echo "$apfema"; ?>
<select id="chiusura1" name="chfema">
<option selected value="<?php $chfema; ?>">Chiusura lun./ven. mattina:</option>
<option>10:30</option>
<option>11:00</option>
<option>11:30</option>
<option>12:00</option>
<option>12:30</option>
<option>13:00</option>
<option>13:30</option>
<option>14:00</option>
</select> - Corrente: <?php echo "$chfema"; ?>
<input type="submit" name="submit" id="submit" value="Aggiorna orari" />
La pagina che dovrebbe gestire i valori e aggiornare il db:
Codice PHP:
$id=$_POST['id'];$apfema=$_POST['apfema'];$chfema=$_POST['chfema'];
$sql = "UPDATE orari SET apfema='$apfema',chfema='$chfema' WHERE id=$id";
$result = mysql_query($sql,$link);
if (!$result) { echo $sql; die('Errore nel database: ' . mysql_error());}
Purtroppo succede che la modifica di un orario, apertura o chiusura, cancella l'altro valore dal db, costringendo il gestore a impostare tutti gli orari, nonostante ci sia l'option selected che punta al valore corrente prelevato dalla variabile php (il form è preceduto da codice che preleva l'intera tabella e assegna ogni campo a una variabile). Infatti accanto ai menù select, il browser visualizza l'orario corrente guidando l'utente a non cambiare se va bene quell'orario visualizzato. Perché i due menù select vanno in conflitto? La funzione JS mi serve per fissare su Chiuso l'orario di chiusura se il negozio non apre (Chiuso nel select di orario di apertura).