Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запись данных в MSSQL в формата DATETIME
 
 автор: С   (01.02.2007 в 21:50)   письмо автору
 
 

Задача - Необходимо добавить из 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 ("Запрос не выполнен!!!");

Понимаю что дата (и быть может и остальные данные) скорее всего корректно должна добавляться не так, но как будет верно?

   
 
 автор: Trianon   (02.02.2007 в 00:27)   письмо автору
 
   для: С   (01.02.2007 в 21:50)
 


$month=20;
$day=20;
$year=20;
$dat_rog=date($month,$day,$year);
$datreg=( "d.m.Y H:i:s" );

В этих пяти строках я не понял НИ ЧЕ ГО.

   
 
 автор: С   (02.02.2007 в 12:10)   письмо автору
 
   для: 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" );

   
 
 автор: Trianon   (02.02.2007 в 12:32)   письмо автору
 
   для: С   (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 и пригодится. Да только опять же, вероятно формат потребуется совсем другой.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования