За последние 24 часа нас посетили 48458 программистов и 1729 роботов. Сейчас ищут 684 программиста ...

Дата рождения пользователя

Тема в разделе "PHP для новичков", создана пользователем NeoXidant, 21 май 2011.

  1. NeoXidant

    NeoXidant Активный пользователь

    С нами с:
    8 фев 2010
    Сообщения:
    121
    Симпатии:
    1
    Здравствуйте, не могу найти скрипт для возможности указывать дату рождения пользователями
    нужен выпадающий select список формата DD / MM / YY, подскажите где искать

    простой код формата
    Код (Text):
    1.         <tr>
    2.             <th><label for="birthDate_d">Дата рождения</label></th>
    3.             <td>
    4.             <select name="birthDate_d" id="birthDate_d">
    5.                 <?php for($i=1; $i<=31; $i++) {
    6.                 printf("<option value='%s'>%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT));
    7.                 } ?>
    8.             </select>
    9.             <select name="birthDate_m" id="birthDate_m">
    10.                 <?php for($i=1; $i<=12; $i++) {
    11.                 printf("<option value='%s'>%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT));
    12.                 } ?>
    13.                 </select>
    14.             <select name="birthDate_y" id="birthDate_y">
    15.                 <?php for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) {
    16.                 printf("<option value='%s'>%s</option>", $i, $i);
    17.                 } ?>
    18.             </select></td>
    19.         </tr>
    я думаю не подходит(или подходит?) - не представляю как при обновлении страницы указывать элементу списка параметр selected (числа хранятся в переменных)
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    PHP:
    1.  
    2. <tr>
    3.           <th><label for="birthDate_d">Дата рождения</label></th>
    4.           <td>
    5.           <select name="birthDate_d" id="birthDate_d">
    6.              <?php for($i=1; $i<=31; $i++) {
    7. ###############Проверка дня
    8.              if($i==$row['day'])
    9.                 $selected="selected=\"selected\"";
    10.               else
    11.                 $selected="";
    12. ###############Конец проверки дня
    13.             printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT));
    14.              } ?>
    15.           </select>
    16.           <select name="birthDate_m" id="birthDate_m">
    17.              <?php for($i=1; $i<=12; $i++) {
    18. #############Проверка месяца
    19. if($i==$row['month'])
    20.                 $selected="selected=\"selected\"";
    21.               else
    22.                 $selected="";
    23. ############Конец проверки месяца
    24.             printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT));
    25.              } ?>
    26.              </select>
    27.           <select name="birthDate_y" id="birthDate_y">
    28.              <?php for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) {
    29. ############Проверка года
    30. if($i==$row['year'])
    31.                 $selected="selected=\"selected\"";
    32.               else
    33.                 $selected="";
    34. ############Конец проверки года
    35.             printf("<option value='%s' ".$selected.">%s</option>", $i, $i);
    36.              } ?>
    37.           </select></td>
    38.        </tr>
    39.  
     
  3. NeoXidant

    NeoXidant Активный пользователь

    С нами с:
    8 фев 2010
    Сообщения:
    121
    Симпатии:
    1
    спасибо, отлично работает
     
  4. 105174

    105174 Активный пользователь

    С нами с:
    15 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    Скажите пожалуйста в чем может быть проблема? У меня выбранные данные занесятся в базу, а назад в форму не подставляются. В таблицу данные поподают(проверил). Как это можно исправить.

    Вот мой код:
    Код (Text):
    1.  
    2.  
    3. <?
    4. $birthDate_d = $_POST['birthDate_d'];
    5. $birthDate_m = $_POST['birthDate_m'];
    6. $birthDate_y = $_POST['birthDate_y'];
    7.  
    8.  
    9. 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")){
    10.  
    11.  
    12. echo "<div class=\"user_logicpart\">";
    13. echo "<label for=\"birthDate_d\">Дата рождения</label>";
    14.  
    15. echo "<select name=\"birthDate_d\" id=\"birthDate_d\">";
    16. for($i=1; $i<=31; $i++) {
    17. ###############Проверка дня
    18. if($i==$row['day'])
    19. $selected="selected=\"selected\"";
    20. else
    21. $selected="";
    22. ###############Конец проверки дня
    23. printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT));
    24. }
    25. echo "</select>";
    26.  
    27.  
    28.  
    29. echo "<select name=\"birthDate_m\" id=\"birthDate_m\">";
    30. for($i=1; $i<=12; $i++) {
    31. #############Проверка месяца
    32. if($i==$row['month'])
    33. $selected="selected=\"selected\"";
    34. else
    35. $selected="";
    36. ############Конец проверки месяца
    37. printf("<option value='%s' ".$selected.">%s</option>", $i, str_pad($i, 2, "0", STR_PAD_LEFT));
    38. }
    39. echo "</select>";
    40.  
    41.  
    42.  
    43. echo "<select name=\"birthDate_y\" id=\"birthDate_y\">";
    44.  for($i=date("Y"), $n=date("Y")-70; $i>=$n; $i--) {
    45. ############Проверка года
    46. if($i==$row['year'])
    47. $selected="selected=\"selected\"";
    48. else
    49. $selected="";
    50. ############Конец проверки года
    51. printf("<option value='%s' ".$selected.">%s</option>", $i, $i);
    52. }
    53. echo "</select>";
    54. echo "</div>";
    55. ?>
    в базе создал поля типа varchar(30) utf8_general_ci
    Может нужно указать другой тип ... ???
    Или может запрос на выбор данных не правельный???