![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
В одно из полей таблицы записываются даты в формате UTC, то есть в таком виде [02/Feb/2006:11:29:49 +0300].
Точнее говоря само поле у меня сейчас имеет тип text, я с этим ещё не определился. При выводе нужно будет сортировать записи по времени. Может лучше записывать время в базу данных в формате datetime, тогда не будет проблем с сортировкой, но как перевести его в этот формат? |
|||
|
||||
| Нурик Сакура |
|
||||
|
Почти японец... ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 17.12.2004 Где: Украина, Киев Репутация: 2 Всего: 2 |
Как я у себя делал:
в таблице есть поле Created формата DATETIME заносится время вот так:
выводится:
Это сообщение отредактировал(а) Nurik - 17.2.2006, 20:58 --------------------
- Приказы не обсуждаются!- Не объясняются и не выполняются. (с) фанфик на Hellsing |
||||
|
|||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Nurik, я перечитал свой пост, там действительно не совсем ясно о чём речь идёт. Мне не текущее время нужно, я читаю записи из файла(лог Apache) и заношу их базу данных. Потом надо будет выводить записи отсортированные по времени.
В чем собственно и вопрос: как сортировать записи по времени записанному в таком формате [02/Feb/2006:11:29:49 +0300]. |
|||
|
||||
| Нурик Сакура |
|
|||
|
Почти японец... ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 17.12.2004 Где: Украина, Киев Репутация: 2 Всего: 2 |
Попробуй так:
Это сообщение отредактировал(а) Nurik - 17.2.2006, 20:57 --------------------
- Приказы не обсуждаются!- Не объясняются и не выполняются. (с) фанфик на Hellsing |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Nurik, если бы всё было так просто я бы не спрашивал.
Посмотри на формат записи, что такое с точки зрения SQL(или PHP) Feb или Jan? Просто набор символов... Нужно привести дату в человеческий формат, который можно сортировать, например datetime. |
|||
|
||||
| Нурик Сакура |
|
|||
|
Почти японец... ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 17.12.2004 Где: Украина, Киев Репутация: 2 Всего: 2 |
Хех, даже не знаю. Только что пересмотрел учебник по ПХП (прошу не смеятся, я токо учусь), там есть такой вариант, как strtotime, но такой формат, как у тебя он не поддерживает, увы...
--------------------
- Приказы не обсуждаются!- Не объясняются и не выполняются. (с) фанфик на Hellsing |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Нет в принципе функцию перевода в datetime можно написать самому,
но неужели других способов нет? Ведь эту функцию придется применять к каждой строке файла, а их у меня 25 тысяч, я ещё в скрипте регулярку ипользую, это сколько ж придется ждать пока этот скрипт что-то выдаст? Это сообщение отредактировал(а) sugee - 18.2.2006, 12:39 |
|||
|
||||
| Нурик Сакура |
|
|||
|
Почти японец... ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 17.12.2004 Где: Украина, Киев Репутация: 2 Всего: 2 |
Скрипт будет явно пахать долго. А насчет уже готовых скриптов обработки логов Апача - то я сомневаюсь, что кто-то это делал. Ты в Инете не пытался найти?
Добавлено @ 22:28 Я, конечно, понимаю, что готовое решение куда хуже, чем собственное. Но если ты нормально разбираешься - то ты сможешь найти то, что тебе нужно. Надеюсь, что оно подойдет. Apache logfile monitor Сайт автора: http://www.maryan.com.ua/?language=rus Описание: http://www.maryan.com.ua/?action=log Демо: http://www.maryan.com.ua/logs/log.php Качать: http://www.maryan.com.ua/maryanlog.zip Бесплатный PHP+MySQL
Добавлено @ 22:36 Или вот, но я не уверен, на ПХП ли оно: Webaliser Это сообщение отредактировал(а) Nurik - 17.2.2006, 22:28 --------------------
- Приказы не обсуждаются!- Не объясняются и не выполняются. (с) фанфик на Hellsing |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Только что провёл эксперимент:
Результат такой: 1970-01-01 03:00:25 |
|||
|
||||
| Нурик Сакура |
|
|||
|
Почти японец... ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 17.12.2004 Где: Украина, Киев Репутация: 2 Всего: 2 |
Короче, как я понял, тебе нужно преобразовать дату, получаемую из логов, и уже потом с ней работать.
--------------------
- Приказы не обсуждаются!- Не объясняются и не выполняются. (с) фанфик на Hellsing |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
||||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
||||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
sugee, ну зачем же сразу так отчаиваться?!
Во-первых, хранить дату надо в Unix timestamp, т.к. с ней можно вытворять, что только душе угодно. Во-вторых, у тебя в этой строке (02/Feb/2006:11:29:49 +0300) есть абсолютно всё, что нужно. Бери, разбирай эту строчку, приводи её к timestamp, и записывай в БД. В чем собсна проблема? -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 4 Всего: 73 |
Верно. А перевести дату в timestamp, думаю получится при помощи этой функции http://ru2.php.net/strtotime sugee, и не забудь на дату поставить индекс. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
В базу записывается вот что: 0000-00-00 00:00:00 Да я как раз подумал было что моя проблема решена, точнее говоря что её и не было. Думал я так до тех пор пока не встал вопрос о сортировке по дням. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |