![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| EvgenYakut |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 27.8.2007 Где: Украина Луганск Репутация: нет Всего: нет |
Доброго времени суток
Для выводимых записей ОЧЕНЬ важна давность их добавления. поэтому необходимо кроме сортировки визуально выделить наиболее новые данные. В таблице БД(мускул) есть поле характеризубщее время и дату добавления записи(datetime,). Задача: Вывести таблицу из всех имеющихся записей так чтобы записи добавленые менее часу назад выделялись красным бекграундом, более часу но менее двух - оранжевым и т.д. до фиолетового цвета.(такая себе радуга) Тоесть всего семь. Требуется учесть что записей может быть много и их потребуется выводить на несколько строничек допустим по 50 штук/строницу, а красных заявок может быть 2-3 а может быть 100-150. Первая идея которая меня посетила заключается в том чтобы для каждой выводимой заявки расчитывать её цвет и соответственнопихать его в бекграунд строки. Для этого я написал следующие скрипт
НО ВОТ В ЧЕМ ПРОБЛЕМА по непонятной мне причине иногда, может не каждый раз а может 10 раз подряд, некоректно считается strtotime($value['time']) а именно увеличивает его на n-ное количество секунд. При этом некоких ошибок он мне невыдает (ini_set('display_errors',1); error_reporting(E_ALL); ) ВОПРОС: как исправить сложившуюся ситуацию?? Это сбои на сервере??(если поговорить с хостером он может помочь?) можноли переделать скрипт так чтобы он работал без збоев?? |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
EvgenYakut, почему бы вам не брать из MySQL сразу метку времени, а не строку с датой? Возможно, даже лучше сразу высчитывать сколько пройдено времени
|
|||
|
||||
| EvgenYakut |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 27.8.2007 Где: Украина Луганск Репутация: нет Всего: нет |
Я прошу прощения sTa1kEr но наверно я сильно тормажу
если я просто напишу
то я что в $r_t получу ?? разницу(сегодняшнее время/время из поля date) времени в секундах для записи чей id = 1???? я посмотрел по SELECT UNIX_TIMESTAMP() она вроде должна работать если date хранится как datetime или я ошибаюсь???? |
|||
|
||||
| sTa1kEr |
|
||||||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Именно. И эта запись будет в массиве с индексом "interval"
Да, в качестве параметра она принимает значение типа datetime или если она вызвана без параметров, то возвращает текущую метку времени (аналогично функции time() в PHP). Если у вас дата хранится в integer, то достаточно просто вычесть это значение из UNIX_TIMESTAMP(). Это сообщение отредактировал(а) sTa1kEr - 27.8.2007, 19:06 |
||||||
|
|||||||
| EvgenYakut |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 27.8.2007 Где: Украина Луганск Репутация: нет Всего: нет |
И как я сам недогадался отдать обработку времени SQLю Вообщем тему наверно можно считать закрытой, хотя если есть какие либо замечания, уточнения или еще что пишите внимательно прочту П.С. я бы добавил sTa1kEr плюсик за помощь (я был на трех форумах с этим вопросом безрезультатно) но система говорит что я тут типа еще никто чтоб плюсики раздавть, посмотрим может я и исправлю это положение может и мой горький опыт кому нибуть пригодится |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |