• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Scrivere anni in una select fino all' anno attuale

Kaito

Utente Strepitoso
Autore del topic
16 Febbraio 2011
4.511
47
Miglior risposta
0
Se volessimo creare uno script di registrazione, dovremmo inserire anche l' anno di nascita dell' utente, ma sinceramente chi ha voglia di scrivere così tanti anni a mano?

Sfruttando due cicli in PHP (for e foreach) è possibile fare ciò.

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

SPIEGAZIONE

I codici sono molto semplici. Credo che il tag html non abbia bisogno di spiegazioni , per cui passiamo al php.

Partiamo subito col ciclo for, che spiegato significherebbe: $i è 1900, quando $i è minore o uguale alla data attuale (in questo caso 2011), incrementi $i di uno e stampi a video una option col value dell' anno , indicato da $i.

Ora c'è un problema però: i numeri sono ordinati da 1900 in poi, ovvero 1900 è posto in alto e 2011 in basso, come fare per sistemare?

Basta una semplice modifica e l' aggiunta del ciclo foreach.

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Quindi prima creiamo un array vuoto di nome $anni, dopo il ciclo ha la stessa spiegazione tranne l' azione che deve compiere ogni volta che il ciclo è vero (cioè che $i è minore o uguale alla data attuale). L' operazione che questa volta esegue è inserire nell' array $anni l' anno trovato, indicato sempre da $i.

Ora con rsort disponiamo l' array in ordine decrescente, ovvero dal piu' grande al piu' piccolo.

Con il foreach gli diciamo al server che ogni elemento contenuto nell' array $anni (quindi ogni $i inserito) si chiamerà $value e stamperà a video le option chiamate con l' anno trovato, in questo caso indicato da $value.
 
Riferimento: Scrivere anni in una select fino all' anno attuale

Bella guida :emoji_slight_smile: Come alternativa si può fare anche
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Riferimento: Scrivere anni in una select fino all' anno attuale

Bhè si vero non ci avevo pensato, andavo di fretta v.v
 
Riferimento: Scrivere anni in una select fino all' anno attuale

Giustamente le guide si fanno di fretta...
Comunque, perché non mettere una semplice textbox? O al massimo basta inserire la data di nascita e si calcola gli anni da solo...
 
Riferimento: Scrivere anni in una select fino all' anno attuale

Gli anni?

Ho detto la data di nascita, anno di nascita.

Una textbox è poco professionale in casi come questo (ah ma giusto, l' hai proposto tu). Se non ti piace il mio modo di scrivere guide non leggerle.
 
Riferimento: Scrivere anni in una select fino all' anno attuale

Gli anni?

Ho detto la data di nascita, anno di nascita.

Una textbox è poco professionale in casi come questo (ah ma giusto, l' hai proposto tu). Se non ti piace il mio modo di scrivere guide non leggerle.

Ma tutto questo astio nei miei confronti? Che ti ho fatto?
Comunque, avevo capito che era tipo un menù a tendina con vari numeri (i quali rappresentavano gli anni), ho capito male e domando venia ^.^
 
Riferimento: Scrivere anni in una select fino all' anno attuale

Ma tutto questo astio nei miei confronti? Che ti ho fatto?

Mah, una cosa tira l' altra..