Fare internet

E' come il lego, più pezzi ho più sono allegro
Seguci su Facebook Seguici su Twitter Iscrivita ai nostri Feed      Mandaci una mail

PHP: le tendine per selezionare una data.

Scritto da Fare-internet il 24 novembre 2010 condividi condividi

Spesso quando abbiamo a che fare con form di registrazione c’è la necessitè di selezionare la data.
Ora vanno molto di moda i calendari da cui si sceglie la data desiderata, ovviamente se su questi calendari non si può scegliere l’anno raggiungere date dell’anno prossimo può essere difficoltoso.
In generale il numero di click da effettuare per selezionare una data da questi calendarietti è maggiore rispetto a quello necessario per scegliere una data da 3 tendine, una per il giorno, una per il mese e una per l’anno.
Il vantaggio del calendarietto è che ci mostra i giorni della settimana, che nel caso della prenotazione di una macchina, di un volo o di un hotel, sono estremamente rilevanti.
Dopo questa introduzione passiamo al nostro scopo, costruire con il php le select necessarie a selezionare una data.
Innanzi tutto scegliamo il php perchè sono operazioni ripetitive, e i linguaggi di programmazione servono anche a sgravarci dal peso della ripetività, ma la cosa meno immediata dell’affidare ad una macchina la ripetizioni è che diminuiamo la possibilità di errore.

Passiamo al codice:

<select name="giorno">
<?php for($i=1;$i<32;$i++){?>
        <option><?php echo $i?></option>
<?php } ?>     
</select>
<select name="mese">
<?php for($i=1;$i<13;$i++){?>
        <option><?php echo $i?></option>
<?php } ?>     
</select>
<select name="anno">
<?php for($i=1970;$i<2010;$i++){?>
        <option><?php echo $i?></option>
<?php } ?>     
</select>

Questo con un copia e incolla potrebbe bastare, ma se vogliamo essere dei precisoni e mostrare il nome del mese possiamo utilizzare questo codice (array mesi):

$mesi = array(
‘Gennaio’,
‘Febbraio’,
‘Marzo’,
‘Aprile’,
‘Maggio’,
‘Giugno’,
‘Luglio’,
‘Agosto’,
‘Settembre’,
‘Ottobre’,
‘Novembre’,
‘Dicembre’
);

L’array dei mesi php l’abbiamo preso dal blog di webtocom

La select dei mesi sarà questa:

<select name="mese">
<?php for($i=0;$i<12;$i++){?>
        <option value="<?php echo $i+1?>"><?php echo $mesi[$i]?></option>
<?php } ?>     
</select>

Bisogna notare che nell’option abbiamo aggiunto l’attributo value, infatti vogliamo passare un valore numerico e non il nome del mese, inoltre abbiamo aggiunto 1 perchè vogliamo passare valori da 1 a 12 e non da 0 a 11 (questi sono necessari per prendere il giusto mese dall’array).

Sei interessato ad un corso di PHP a Roma?

Twitter