|
|
|
| Задача - Необходимо добавить из PHP новую запись в базу данных.
Проблема - Не как не пойму как корректно записать переменные в формате DATETIME.?
С остальными данными, правда, тоже не очень уверен база серьезная очень боюсь испортить данные.
Данные
Есть таблица portner
параметры столбцов в базе данных portner
NAME Type Size
-------
cod int 4
id char 5
lastname varchar 20
dat_rog DATETIME 8
datreg DATETIME 8
Данные переменных
$cod=673;
$id=4739;
$lastname="Федов";
//Тут вопросы
//Для даты рождения человек ввел три переменные $month, $day, $year
$month=20;
$day=20;
$year=20;
$dat_rog=date($month,$day,$year);
$datreg=( "d.m.Y H:i:s" );
$zapis=mssql_query("INSERT INTO portner (cod,id,lastname,dat_rog,dat_reg) VALUES($cod,$id,$lastname,$datrog,$datreg) ") or die ("Запрос не выполнен!!!");
Понимаю что дата (и быть может и остальные данные) скорее всего корректно должна добавляться не так, но как будет верно? | |
|
|
|
|
|
|
|
для: С
(01.02.2007 в 21:50)
| |
$month=20;
$day=20;
$year=20;
$dat_rog=date($month,$day,$year);
$datreg=( "d.m.Y H:i:s" );
|
В этих пяти строках я не понял НИ ЧЕ ГО. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2007 в 00:27)
| | Да Извеняюсь поспешил пример глупый дал. Пишу подробней.
При регистрации на сайте человек в форме вводит свою дату рождения, заносим эти данные в переменные, Значение их например будут равны
день $month=02;
месяц $day=02;
год $year=1980;
обединяем данные что бы получился нормальный формат даты
$dat_rog=date($month,$day,$year);
У нас получается дара рождения
$dat_rog=02.02.1980;
$datreg это дата регистрации , тоесть момент когда человек ввел данные регистрации, присваиваем ей текущию дату и время. если не ошибаюсь делается это именно так.
$datreg=( "d.m.Y H:i:s" ); | |
|
|
|
|
|
|
|
для: С
(02.02.2007 в 12:10)
| | Уже лучше.... только всё равно много ерунды: Смотрите сами.
>день $month=02;
>месяц $day=02;
1. и давно день это month, а месяц - day?
2.не надо тут ноль ставить. Напишете 09 - будете очень удивлены.
3. Очень советую пример подобрать так, чтоб по числу ясно можно было понять, что это именно день, а не месяц.
>обединяем данные что бы получился нормальный формат даты
>$dat_rog=date($month,$day,$year);
Стандартная php-функция date занимается совершенно не этим.
Если Вы хотите получить строку 02.02.1980 , то проще всего будет написать
$dat_rog=sprintf("%02d.%02d.%04d", date($month,$day,$year);
Только я полагаю, что строка Вам нужна совсем в другом формате...
в виде '1980-02-20 00:00:00'
>$datreg это дата регистрации , тоесть момент когда человек ввел данные регистрации,
>присваиваем ей текущию дату и время.
>если не ошибаюсь делается это именно так.
>$datreg=( "d.m.Y H:i:s" );
ошибаетесь. Вот тут как раз date и пригодится. Да только опять же, вероятно формат потребуется совсем другой. | |
|
|
|