Io ho fatto la stessa cosa con queste 3 funzioni:
function day_generation($sel)
{
for($i=1;$i<=31;$i++)
{
echo "<option ";
if($i == $sel)
echo "selected='selected' ";
if($i<10)
echo "value=0$i>0$i";
else
echo "value=$i>$i";
echo "</option>\n";
}
}
function month_generation($sel)
{
$month = array('01' => 'Gennaio',
'02' => 'Febbraio',
'03' => 'Marzo',
'04' => 'Aprile',
'05' => 'Maggio',
'06' => 'Giugno',
'07' => 'Luglio',
'08' => 'Agosto',
'09' => 'Settembre',
'10' => 'Ottobre',
'11' => 'Novembre',
'12' => 'Dicembre');
foreach($month as $key => $value)
{
echo "<option ";
if($key == $sel)
echo "selected='selected' ";
echo "value=$key>$value";
echo "</option>\n";
}
}
function year_generation($sel)
{
$intervalyear = 69;
$endyear = getdate();
$endyear = $endyear["year"];
$startyear = $endyear - $intervalyear;
for($i = $startyear; $i <= $endyear; $i++)
{
echo "<option ";
if($i == $sel)
echo "selected='selected' ";
echo "value= $i>$i";
echo "</option>\n";
}
}
le chiamate sono inserite nei tag select in questo modo
<body>
<select>
<?php day_generation($giorno_selezionato); ?>
</select>
<select>
<?php month_generation($mese_selezionato); ?>
</select>
<select>
<?php year_generation($anno_selezionato); ?>
</select>
</body>