Jump to content
  • 0

запись даты рождения в базу данных


bgraf
 Share

Question

24 answers to this question

Recommended Posts

  • 0

я бы на вашем месте сделал одно поле, назвал его birtday и определил поле как int

Подсказываю: Дату нужно хранить в unix time, то бишь количество секунд от какогото мсяца каого то дня 1996 года.(кажется). Это примерно оже, что возвращает функция time()

Link to comment
Share on other sites

  • 0
я бы на вашем месте сделал одно поле, назвал его birtday и определил поле как int

Подсказываю: Дату нужно хранить в unix time, то бишь количество секунд от какогото мсяца каого то дня 1996 года.(кажется). Это примерно оже, что возвращает функция time()

я не правельно написал , поле одно , birthday type date .

а нет способо соединить стринг , кпримеру $birthday = $year.$month.$day ;

и как то этот стринг всунуть в базу данных ?

Link to comment
Share on other sites

  • 0
вот так:

<?
$year = 1890;
$month = 'April';
$day = '09';
$t = strtotime("$day $month $year");
echo date('j.m.Y', $t);
?>

простите туплю но не получается

$day = '12';

$month = '3';

$year '1979';

$t = strtotime("$day $month $year");

echo date("Ymd", $t);

на выходе получаю вот это 19700101

Link to comment
Share on other sites

  • 0
я бы на вашем месте сделал одно поле, назвал его birtday и определил поле как int

Подсказываю: Дату нужно хранить в unix time, то бишь количество секунд от какогото мсяца каого то дня 1996 года.(кажется). Это примерно оже, что возвращает функция time()

Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970.

простите туплю но не получается

$day = '12';

$month = '3';

$year '1979';

$t = strtotime("$day $month $year");

echo date("Ymd", $t);

на выходе получаю вот это 19700101

вам же дали функцию - time();

Link to comment
Share on other sites

  • 0
Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970.

вам же дали функцию - time();

:) я видел , но не понял зачем мне надо знать очет времени если я использую уже готовый стринг который мне просто надо преобразовать в тип даты

Link to comment
Share on other sites

  • 0
А как вы себе представляете тип "дата"? Может 19700101 и есть запись даты в формате "дата" :)

я не знаю , когда я работал на оракле я использовал приобразование такого типа к примеру to_date(dt_var, 'dd.mm.yyyy hh:mi')

а здесь я правда новечек и не очень представляю механизм работы , почитал , поискал но много примеров с интом а мне хочется использовать нормальный тип даты вот и запнулся . вы приводите функции я читаю а как применить не разберусь

Link to comment
Share on other sites

  • 0
$time = time(); // Выведет примерно такое 1239622566
$date1 = date("d.m.Y",$time); // Согласно $time выведет 13.04.2009
$date2 = date("h:i:s",$time); // Согласно $time выведет 02:36:06

можно преобразовывать как угодно...

Это я уже понял этих примеров куча , мне вот что надо

$day = '12';

$month = '3';

$year ='1979';

это преобразовать в тип дата и сохранить в базе

ну как бы мне еще то обьяснить

ну пришел на страницу выбрал день - 12 месяц - 3 год 1979 я получил три переменные и вот дальше как мне делать . ну не вдупляю я ваши примеры а надо срочно форму закончить

Link to comment
Share on other sites

  • 0

записать все в одну переменную $date = $day.".".$month.".".$year;

и записать все это в базу, а потом при чтении разбивать $date = explode(".",$row['date']);

и значения будут доступны так: $date[0], $date[1], $date[2]; день, месяц и год соответственно...

Link to comment
Share on other sites

  • 0
записать все в одну переменную $date = $day.".".$month.".".$year;

и записать все это в базу, а потом при чтении разбивать $date = explode(".",$row['date']);

и значения будут доступны так: $date[0], $date[1], $date[2]; день, месяц и год соответственно...

в этом случае тип поля в базе данных какой должен быть ?

Link to comment
Share on other sites

  • 0

Ребята как вы мне наскучили.

Берем в таблице поле с типом DATE - поля DATE имеют формат VARCHAR с маской YYYY-MM-DD.

$year = 1890;
$month = 'April';
$day = '09';

Вот это бредятина еще та - никаких нафиг April - '04' и не волнует, а вообще можно записывать в базу как 1987-4-3 и он это поймет как 1987-04-03.

тчк.42.

Link to comment
Share on other sites

  • 0

Уважаемые админы и формучане пожалуста вот проблема которую я прошу помочь мне решить , очень прошу пример кода , я потом разберусь и слогикой и с функциями которые вы мне дадите

Итак проблема вот какая

База данных MySQL

поле birthday тип поля DATE

теперь страница

есть три поля ввода

1) день (от 1 до 31 можно выбрать)

2) месяц (от 1 до 12 можно выбрать)

3) год (от 1920 до 2009 можно выбрать)

после этого мне надо введенные пользователем дату раждения записать в базу данных в поле приведенное выше

ОЧЕНЬ ПРОШУ МНЕ НАДО ИМЕННО ТАК КАК Я НАПИСАЛ

ВСЕМ ВСЕМ ВСЕМ ОГРОМНОЕ СПАСИБО ЗАРАНЕЕ ЗА ПОМОЩЬ И ПОТРАЧЕННОЕ НА МЕНЯ ВРЕМЯ

Link to comment
Share on other sites

  • 0
Кау совершенно правильно сказал Иван Шумов, записываете введенные данный в переменную $date = $year."-".$month."-".$day; и $date пишите в базу.

слушай, интересно - ему про POST и GET рассказать или сам помучается? :)

Link to comment
Share on other sites

  • 0
слушай, интересно - ему про POST и GET рассказать или сам помучается? :)

Уважаемый Иван Шумов написал сообщение уже после твоего ответа , блин все и правда просто , спасибо

а вот еще такой вопрос ну для общего развития как можно в данном случае после ввода этих данных пользователем преобразовать в секунды и потом с помощью какихто функций узнать дату , или еще сложнее , если пользователю дать еще и внести час минуту и секунду

надеюсь, сам разберется :(

да я еще намучаюсь :) но интересно . а про пост и гет что то новое , $_POST['b_year'] где 'b_year' это имя инпута а $_GET['error'] где error переменная передаваемая в стороке адресса , мне в одном из топиков vvsh-эксперт (да пользуясь случаем ему огромное спасибо) обьяснил

Link to comment
Share on other sites

  • 0
Уважаемый Иван Шумов написал сообщение уже после твоего ответа , блин все и правда просто , спасибо

а вот еще такой вопрос ну для общего развития как можно в данном случае после ввода этих данных пользователем преобразовать в секунды и потом с помощью какихто функций узнать дату , или еще сложнее , если пользователю дать еще и внести час минуту и секунду

последнее даже проще)) берем поле типа DATETIME формата Y-m-d H:i:s и записываем)) а с преобразованием лучше не парься - себе дороже мозг ломать, хотя посчитать не трудно :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy