Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.04.2015, 00:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

В этом ваша и ошибка, если вручную. Циклом такие вещи надо выводить. Коли выборки о пользователе я так и не увидел, то абстрактный пример:
//если выборка о пользователе возвращает из поля 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 в данном случае совсем не требуется.

Последний раз редактировалось laimas, 02.04.2015 в 00:18.
Ответить с цитированием
  #12 (permalink)  
Старый 02.04.2015, 00:39
Аспирант
Отправить личное сообщение для user_name Посмотреть профиль Найти все сообщения от user_name
 
Регистрация: 05.11.2014
Сообщений: 40

laimas, Спасибо большое, очень помог
Ответить с цитированием
  #13 (permalink)  
Старый 02.04.2015, 09:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Дополнить надо:
$start = $k = $end - 60; //минус желаемый возраст пользователей, который в любом случае не должен быть менее 31, иначе могут быть только феврали
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Select, optionl, и автоматический выбор Rorbi Элементы интерфейса 2 29.05.2014 15:38
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
SQL запрос. Как делать SELECT с условием SELECT Duda.Ml1986@gmail.com Серверные языки и технологии 16 13.01.2014 16:09
выбор из select مراد Общие вопросы Javascript 11 11.02.2013 17:16
Выбор в select и вставка maximus Events/DOM/Window 7 20.12.2012 16:40