disign | PHP: tendina selezione data a partire da giorno corrente | a digital sign for a best design!
A digital sign for a best design

Articolo stampato da http://disign.improntedigitali.it/php-tendina-selezione-data-a-partire-da-giorno-corrente-392-2-1.html

© Luca Frassineti

Programmazione 5.860 visualizzazioni

PHP: tendina selezione data a partire da giorno corrente

11/05/2012

Una semplice funzione che ci permette la costruzione dinamica di un menu a tendina che offra come opzioni di selezione valori a partire dalla data corrente per un range di anni predefinito.

Utilissimo in caso ad esempio di form di prenotazione, in modo da offrire come opzioni valide solo quelle del range da noi definito.

La funzione è questa (per modificare il range degli anni selezionabili, nella parte di generazione della tendina anni, nel ciclo for sostituire il valore +2 con il valore numerico di incremento desiderato):

 

    function mdy($mid = "mese", $did = "giorno", $yid = "anno", $mval, $dval, $yval)
    {
        if(empty($mval)) $mval = date("m");
        if(empty($dval)) $dval = date("d");
        if(empty($yval)) $yval = date("Y");
       

// tendina dei giorni
        $out = "<select name='$did' id='$did'>\n";
        for($i = 1; $i <= 31; $i++)
            if($i == $dval) $out .= "<option value='$i' selected>$i</option>\n";
            else $out .= "<option value='$i'>$i</option>\n";
        $out .= "</select>\n";   

 

// tendina dei mesi           
        $months = array(1 => "gennaio", 2 => "febbraio", 3 => "marzo", 4 => "aprile", 5 => "maggio", 6 => "giugno", 7 => "luglio", 8 => "agosto", 9 => "settembre", 10 => "ottobre", 11 => "novembre", 12 => "dicembre");
        $out .= "<select name='$mid' id='$mid'>\n";
        foreach($months as $val => $text)
            if($val == $mval) $out .= "<option value='$val' selected>$text</option>\n";
            else $out .= "<option value='$val'>$text</option\n>";
        $out .= "</select>\n";

 

// tendina degli anni

        $out .= "<select name='$yid' id='$yid'>\n";
        for($i = date("Y"); $i <= date("Y") + 2; $i++)
            if($i == $yval) $out.= "<option value='$i' selected>$i</option>\n";
            else $out.= "<option value='$i'>$i</option>\n";
        $out .= "</select>\n";
       
        return $out;
    }

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 


Questo sito è totalmente privo di pubblicità, se volete sostenere questa inziativa, potete scegliere di fare una piccola donazione libera:


© 2009 - 2024 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.