![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Вместо strtotime попробовал mktime.
Вроде получился самый что ни на есть timestamp, а в базе всё равно нули Что я не так делаю?
|
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
А, ну <br>-ы я убрал, всё равно в таблице нули.
А сам timestamp выводится.
|
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
А поле datetime, теперь все правильно. Почему только Y-m-d - просто из-за парсинга строки скрипт дико тормозит! |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Рано радовался, у меня во всех строках теперь одинаковая дата стоит.
И если поле timestamp - то же самое. Научите как правильно писать в поле типа timestamp |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Вот так правильно отображается только число, год почему-то всегда меньше на единицу, вместо 2005-го 2004-й и т.д. Месяц везде декабрь, хотя есть ещё январь и февраль. |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
Тип поля в бд под timestamp лучше делать целочисленный.
Слушай, если ты беспокоишься о том, что скрипт слишком долго выполняется, то есть еще одно решение, более простое. Насколько я знаю, Апач пишет всегда в конец файла, вот это тебе и будет уже самая что нинаесть сортировка по дате. Выхватываешь всё по-строчно из этого файла и пишешь в БД, для сортировки делаешь ORDER BY id DESC, и все твои проблемы... -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Да, это уже предлагали
http://forum.vingrad.ru/index.php?showtopi...st&p=648474 Если нужна просто сортировка по времени, то этого достаточно, но мне ещё нужно будет выводить статистику за последние десять дней. Сколько за день было хостов, хитов и тому подобное. |
|||
|
||||
| sugee |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Я поменял тип поля на INT(32) и пишу туда дату непосредственно в формате timestamp
Вывожу так
Это сообщение отредактировал(а) sugee - 19.2.2006, 10:35 |
||||
|
|||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
Вот тебе набросал как примерчик, для получения timestamp в твоем случае:
Хотя...может можно как-то и оптимизировать, просто всё на скорую руку... -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 4 Всего: 73 |
Думаю это будет побыстрее прегов. Пишем $stmp в базу в поле типа int(10). Ставим на него индексы (в связке с другими полями, если те учавствуют в отборе). -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
-=Ustas=-, я применил в своей фунции твой вариант в сочетании с вариантом IZ@TOP.
Вроде не перепутал ничего... Время получается 01.01.1970 // 03:00:01 Начало эпохи Unix если не ошибаюсь
Добавлено @ 19:27 Поле int(10) |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
sugee, в варианте Изотопа маленькое упущение, которое ты должен был заметить, прочитав про формат входных данных функции strtotime() ;) Попробуй так:
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Нет, то же самое получается.
|
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
хм... действительно. Ну попробуй тогда полностью мою функцию применить, хоть и немного дольше обрабатывает, на зато наверняка
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
А вот теперь происходит очень интересная вещь.
date() перед записью в базу даёт правильный результат, а вот из базы выводится все то же 01/01/70 03:00:00.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |