I've been working on this today. Please use or improve. If you improve, please post your code here so I can use it. If I made any mistakes, let me know.

Calling these functions will output HTML select boxes.

PHP Code:
<?php

function yearOptions($startYear null$endYear null) {

    
$startYear is_null($startYear) ? (int) date('Y') : $startYear;
    
$endYear is_null($endYear) ? $startYear $endYear;

    echo 
'<select id="year" name="year">'."\n";
    
    for ( 
$i $startYear$i <= $endYear$i++ ) {

        if ( 
$i == (int) date('Y') ) {
            echo 
'<option value="' $i '" selected="selected">' $i '</option>'."\n";
        } else {
            echo 
'<option value="' $i '">' $i '</option>'."\n";
        }

    }
    
    echo 
'</select>' "\n";
    
}

function 
monthOptions() {

    echo 
'<select id="month" name="month">'."\n";

    for ( 
$i 1$i <= 12$i++ ) {

        if ( 
$i == (int) date('n') ) {
            echo 
'<option value="' $i '" selected="selected">' date("F"mktime(000$i)) .'</option>' "\n";
        } else {
            echo 
'<option value="' $i '">' date("F"mktime(000$i)) . '</option>' "\n";
        }

    }

    echo 
'</select>' "\n";

}

function 
dayOptions() {

    echo 
'<select id="day" name="day">'."\n";

    for ( 
$i 1$i <= 31$i++ ) {

        if ( 
$i == (int) date('j') ) {
            echo 
'<option value="' $i '" selected="selected">' $i '</option>'."\n";
        } else {
            echo 
'<option value="' $i '">'.$i.'</option>'."\n";
        }
    }

    echo 
'</select>' "\n";
    
}