Forum Webscript.Ru
Программирование => PHP => Тема начата: Гаррилл от 24 Июня 2002, 21:35:57
-
Я переделываю нюк. Значит, стоит у меня такая задача:
Есть 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?
Что-то не выходит.
-
гы гы гы :-)
update nuke_stories set times=UNIX_TIMESTAMP(time)
вуаля! :-)
-
RomikChef
Ща проверю. А я считал секунды за 32 года.
-
и проверять нечего :-)
Ты просто ради прикола погляди в доке по муське, сколько там функций для работы с датами.
Я только подредактировал малость запрос - апдейтится поле times а не time
-
А как по ходу этого же скрипта переименовать 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");
Какую команду после дропа выполнить?
-
alter table nuke_stories \'times\' \'time\' UNIX_TIMESTAMP(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");
mysql_query("ALTER TABLE nuke_stories \'times\' \'time\' UNIX_TIMESTAMP(time)");
Не вышло.
-
извини ошибся:
mysql_query("ALTER TABLE nuke_stories CHANGE \'times\' \'time\' UNIX_TIMESTAMP(time)");
-
И так тоже не переименовывается.
-
кавычки-то вроде не нужны.
-
Я из без кавычек пробовал и без таймстампа. Не хочет. Хех. так и базы не напасёшся. А есть другие способы?
-
блин!
сто раз бы уже попробовал все и сделал!
Есть способы.
печатать mysql_error()
поставить пхпмайадмин
поставить муську локально и в консоли потренироваться
почитать документацию
Ну что ж ты такой беспомощный-то, а?