Автор Тема: Помогите трансформировать дату  (Прочитано 3808 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Я переделываю нюк. Значит, стоит у меня такая задача:
Есть 300 новостей в таблице MySQL nuke_stories, а там у каждой время постинга такое: time = 2002-06-24 20:36:27, где тип поля datetime. Мне же надо иметь дату time = 1024936587, с типом поля int(11). Вот как я продумал свои действия:

Код:

<? 
 
mysql_connect($host$username$password); 
@
mysql_select_db($database); 
 
mysql_query("ALTER TABLE nuke_stories ADD times int(11) not null AFTER time"); 
 
$result mysql_query("select time from nuke_stories"); 
while(list(
$time) = mysql_fetch_row($result)) { 
 
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})"$time$datetime); 
 
//$datetime[4] - час 
//$datetime[5] - минута 
//$datetime[6] - секунда 
//$datetime[2] - месяц 
//$datetime[3] - день 
//$datetime[1] - год 
 
$newtime $datetime[6]+$datetime[5]*60+$datetime[4]*3600+$datetime[3]*86400+$datetime[2]*2592000+32*31104000
 
    
mysql_query("update nuke_stories set times=\'$newtime\' where time=\'$time\'"); 

 
?> 


А потом удалить поле time и переименовать times в time?
Что-то не выходит.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите трансформировать дату
« Ответ #1 : 24 Июня 2002, 21:47:35 »
гы гы гы :-)
update nuke_stories set times=UNIX_TIMESTAMP(time)
вуаля! :-)

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Помогите трансформировать дату
« Ответ #2 : 24 Июня 2002, 21:49:32 »
RomikChef
Ща проверю. А я считал секунды за 32 года.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите трансформировать дату
« Ответ #3 : 24 Июня 2002, 21:51:26 »
и проверять нечего :-)
Ты просто ради прикола погляди в доке по муське, сколько там функций для работы с датами.

Я только подредактировал малость запрос - апдейтится поле times а не time

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Помогите трансформировать дату
« Ответ #4 : 26 Июня 2002, 08:52:10 »
А как по ходу этого же скрипта переименовать times в time без пхпМайАдмина?

mysql_query("ALTER TABLE nuke_stories ADD times int(11) not null AFTER time"); 
 
$result mysql_query("select time from nuke_stories"); 
while(list(
$time) = mysql_fetch_row($result)) { 
 
    
mysql_query("UPDATE nuke_stories SET times=UNIX_TIMESTAMP(time)"); 
 

 
mysql_query("ALTER TABLE nuke_stories DROP time");  


Какую команду после дропа выполнить?

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Помогите трансформировать дату
« Ответ #5 : 26 Июня 2002, 11:52:05 »
alter table nuke_stories \'times\' \'time\' UNIX_TIMESTAMP(time)
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Помогите трансформировать дату
« Ответ #6 : 26 Июня 2002, 14:04:33 »
Делал так:

mysql_query
("ALTER TABLE nuke_stories ADD times int(11) not null AFTER time"); 
 
$result mysql_query("select time from nuke_stories"); 
while(list(
$time) = mysql_fetch_row($result)) { 
 
    
mysql_query("UPDATE nuke_stories SET times=UNIX_TIMESTAMP(time)"); 
 

 
mysql_query("ALTER TABLE nuke_stories DROP time");
mysql_query("ALTER TABLE nuke_stories \'times\' \'time\' UNIX_TIMESTAMP(time)");

Не вышло.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Помогите трансформировать дату
« Ответ #7 : 26 Июня 2002, 14:28:15 »
извини ошибся:
mysql_query("ALTER TABLE nuke_stories CHANGE \'times\' \'time\' UNIX_TIMESTAMP(time)");
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Помогите трансформировать дату
« Ответ #8 : 26 Июня 2002, 14:40:14 »
И так тоже не переименовывается.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите трансформировать дату
« Ответ #9 : 26 Июня 2002, 15:22:27 »
кавычки-то вроде не нужны.

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Помогите трансформировать дату
« Ответ #10 : 26 Июня 2002, 17:09:57 »
Я из без кавычек пробовал и без таймстампа. Не хочет. Хех. так и базы не напасёшся. А есть другие способы?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите трансформировать дату
« Ответ #11 : 26 Июня 2002, 22:18:57 »
блин!
сто раз бы уже попробовал все и сделал!
Есть способы.
печатать mysql_error()
поставить пхпмайадмин
поставить муську локально и в консоли потренироваться
почитать документацию

Ну что ж ты такой беспомощный-то, а?
« Последнее редактирование: 27 Июня 2002, 00:14:15 от RomikChef »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28