Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вставка в БД значений времени с дискретностью полчаса MySQL.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ViTYAi
Отправлено: 07 Декабря, 2009 - 12:49:15
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




Здравствуйте!

Известна дата, например 2009-12-07.
Как вставить в цикле в поле date_time таблицы БД (MySQL) значения времени за эти сутки, то есть:
2009-12-07 00:30:00
2009-12-07 01:00:00
2009-12-07 01:30:00
2009-12-07 02:00:00
...
2009-12-08 00:00:00
???
 
 Top
Viper
Отправлено: 07 Декабря, 2009 - 14:33:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




все таки наверное такое cron'ом лучше организовать. зашедулить выполнение скрипта каждые полчаса.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ViTYAi
Отправлено: 07 Декабря, 2009 - 16:40:59
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




Viper пишет:
все таки наверное такое cron'ом лучше организовать. зашедулить выполнение скрипта каждые полчаса.

Разве только таким способом можно?
я думал примерно, так
PHP:
скопировать код в буфер обмена
  1. for ($i=0; $i<count(48);$i++) {
  2. $query="insert into ТАБЛИЦА values (0,'2009-12-07 ВРЕМЯ', '100','200','300');";
  3. mysql_query($query, $db);

дак вот, что написать вместо ВРЕМЯ? Какое выражение?
 
 Top
valenok
Отправлено: 07 Декабря, 2009 - 17:30:14
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




SELECT DATE_ADD('2008-01-02', INTERVAL 30 MINUTE);


-----
Truly yours, Sasha.
 
My status
 Top
Мелкий Супермодератор
Отправлено: 07 Декабря, 2009 - 17:30:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




играйтесь с UNIX временем
PHP:
скопировать код в буфер обмена
  1.  
  2. $heute = mktime(0,0,0,12,7,2009); //получили время UNIX на полночь 2009-12-07, в секундах
  3. date("Y-m-d H:i:s", $heute+30*60); //получить время, на 30 минут позже, чем полночь

Приращиваете $heute в цикле.

PS: лучше не выполнять на каждой итерации запрос, а собрать всю информацию в один запрос, например так:
PHP:
скопировать код в буфер обмена
  1. $heute = mktime(0,0,0,12,7,2009);
  2. $query = "insert into ТАБЛИЦА values (0,'".date("Y-m-d H:i:s", $heute)."', '100','200','300')";
  3. for ($i=1; $i<=48;$i++) $query .= ",(0,'".date("Y-m-d H:i:s", $heute+$i*180)."', '100','200','300')";
  4. mysql_query($query);


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB