В этом ваша и ошибка, если вручную. Циклом такие вещи надо выводить. Коли выборки о пользователе я так и не увидел, то абстрактный пример:
//если выборка о пользователе возвращает из поля DATE день, месяц и год, то работаем с этими данными
//если нет, и возвращает дату как YYYY-MM-DD, то получаем из даты нужные компоненты средствами РНР
$time = strtotime($row['date']); //где $row['date'] - дата рождения из базы
$year = date('Y', $time);
$month = date('n', $time);
$day = date('j', $time);
//месяц и день без ведущих нулей, так как они совсем не нужны в списках
//ибо полученную дату для нашей локалицации как d.m.YYYY можно всегда привести к формату SQL
//$date = date('Y-m-d', strtotime('3.5.2000')); //получим корректный формат даты для SQL,
//если вернет false или дату UNIX, значит клиент прислал лажу
//но лучше сразу SQL запросом вернуть компоненты
//выводим списки
$select_year = '<select name="year"><option value="">Выберите год...</option>';
$select_month = '<select name="month"><option value="">Выберите месяц...</option>';
$select_day = '<select name="day"><option value="">Выберите дату...</option>';
//цикл по количеству лет
$start = $k = 1950;
$end = date('Y') - 18; //последний год с учетом минимального возраста
while($start <= $end) {
$n = $start-$k+1;
if($n < 13) $select_month .= '<option value='.$n.' '.($n == $month ? 'selected' : null).'>'.$n.'</option>';
if($n < 32) $select_day .= '<option value='.$n.' '.($n == $day ? 'selected' : null).'>'.$n.'</option>';
$select_year .= '<option value='.$start.' '.($start == $year ? 'selected' : null).'>'.$start.'</option>';
$start++;
}
$select_year .= '</select>';
$select_month .= '</select>';
$select_day .= '</select>';
echo $select_day, $select_month, $select_year;
>через js по id например #id_select option:selected
Во первых первый опшен должен быть пуст, так как ставить минимальную дату, месяц и год по умолчанию, это плохо, можно их по ошибке и запулить на сервер. Поэтому нужно проверять выбран ли опшен (значение не пустое). А значение списка и возвращает значение выбранной опции, так что option:selected в данном случае совсем не требуется.