Здравствуйте, не могу найти скрипт для возможности указывать дату рождения пользователями нужен выпадающий select список формата DD / MM / YY, подскажите где искать простой код формата Код (Text): <tr> <th><label for="birthDate_d">Дата рождения</label></th> <td> <select name="birthDate_d" id="birthDate_d"> <?php for($i=1; $i<=31; $i++) { printf("<option value='%s'>%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT)); } ?> </select> <select name="birthDate_m" id="birthDate_m"> <?php for($i=1; $i<=12; $i++) { printf("<option value='%s'>%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT)); } ?> </select> <select name="birthDate_y" id="birthDate_y"> <?php for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) { printf("<option value='%s'>%s</option>", $i, $i); } ?> </select></td> </tr> я думаю не подходит(или подходит?) - не представляю как при обновлении страницы указывать элементу списка параметр selected (числа хранятся в переменных)
PHP: <tr> <th><label for="birthDate_d">Дата рождения</label></th> <td> <select name="birthDate_d" id="birthDate_d"> <?php for($i=1; $i<=31; $i++) { ###############Проверка дня if($i==$row['day']) $selected="selected=\"selected\""; else $selected=""; ###############Конец проверки дня printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT)); } ?> </select> <select name="birthDate_m" id="birthDate_m"> <?php for($i=1; $i<=12; $i++) { #############Проверка месяца if($i==$row['month']) $selected="selected=\"selected\""; else $selected=""; ############Конец проверки месяца printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT)); } ?> </select> <select name="birthDate_y" id="birthDate_y"> <?php for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) { ############Проверка года if($i==$row['year']) $selected="selected=\"selected\""; else $selected=""; ############Конец проверки года printf("<option value='%s' ".$selected.">%s</option>", $i, $i); } ?> </select></td> </tr>
Скажите пожалуйста в чем может быть проблема? У меня выбранные данные занесятся в базу, а назад в форму не подставляются. В таблицу данные поподают(проверил). Как это можно исправить. Вот мой код: Код (Text): <? $birthDate_d = $_POST['birthDate_d']; $birthDate_m = $_POST['birthDate_m']; $birthDate_y = $_POST['birthDate_y']; if (mysql_query ("UPDATE jb_user SET name = '".$name."', email = '".$email."', user_contacts = '".$user_contacts."', last_name = '".$last_name."', middle_name = '".$middle_name."', sex='".$sex."', face_type='".$face_type."', user_city='".$user_city."', birthDate_d='".$birthDate_d."', birthDate_m='".$birthDate_m."', birthDate_y='".$birthDate_y."' WHERE id_user='".$user_data['id_user']."' LIMIT 1")){ echo "<div class=\"user_logicpart\">"; echo "<label for=\"birthDate_d\">Дата рождения</label>"; echo "<select name=\"birthDate_d\" id=\"birthDate_d\">"; for($i=1; $i<=31; $i++) { ###############Проверка дня if($i==$row['day']) $selected="selected=\"selected\""; else $selected=""; ###############Конец проверки дня printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT)); } echo "</select>"; echo "<select name=\"birthDate_m\" id=\"birthDate_m\">"; for($i=1; $i<=12; $i++) { #############Проверка месяца if($i==$row['month']) $selected="selected=\"selected\""; else $selected=""; ############Конец проверки месяца printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT)); } echo "</select>"; echo "<select name=\"birthDate_y\" id=\"birthDate_y\">"; for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) { ############Проверка года if($i==$row['year']) $selected="selected=\"selected\""; else $selected=""; ############Конец проверки года printf("<option value='%s' ".$selected.">%s</option>", $i, $i); } echo "</select>"; echo "</div>"; ?> в базе создал поля типа varchar(30) utf8_general_ci Может нужно указать другой тип ... ??? Или может запрос на выбор данных не правельный???