Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [mysql] Замена Date and Time Functions, DATE_FORMAT 
V
    Опции темы
Ak47black
  Дата 12.12.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Подскажите как лучше заменить и реализовать следуший кусок кода без Date and Time Functions
Код

  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE name='".$product_name."'");
  $stat_all = $DB->get_num_rows($productcount);
  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE DAY(data)=DAY(NOW()) AND name='".$product_name."'");
  $stat_today = $DB->get_num_rows($row);
  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE DAY(data)=DAY(NOW())-1 AND name='".$product_name."'");
  $stat_yesterday = $DB->get_num_rows($row);
  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE WEEK(data)=WEEK(NOW()) AND name='".$product_name."'");
  $stat_thisweek = $DB->get_num_rows($row);
  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE WEEK(data)=WEEK(NOW())-1 AND name='".$product_name."'");
  $stat_lastweek = $DB->get_num_rows($row);         
  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE MONTH(data)=MONTH(NOW()) AND name='".$product_name."'");
  $stat_thismonth = $DB->get_num_rows($row);
  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE MONTH(data)=MONTH(NOW())-1 AND name='".$product_name."'");
  $stat_lastmonth = $DB->get_num_rows($row); 

В тупик зашол когда узнал что версия на сервере неподдерживает их smile  smile  smile .
PM MAIL   Вверх
SamDark
Дата 13.12.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38



Ak47black, 
Готовить даты заранее при помощи PHP.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Vaulter
Дата 13.12.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 3
Всего: 22



1. эмоции... сейчас перекурю... итак. для определения кол-ва строк не надо сначала выбирать ВСЕ строки а потом делать mysql_num_rows, достаточно в запросе вместо * написать COUNT(*). это значительно экономит ресурсы и время.
2. придется вычислять timestampы в коде самому как и указано выше постом.
удачи.


--------------------
PM MAIL WWW ICQ   Вверх
Ak47black
Дата 13.12.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Я тут начал делать по другому пути при помоши регулярных выражений.
Вообшем если один день выбераю
Код

WHERE data REGEXP '.+-.+-".$now_day."'

А если неделю то тупик. Может кто работал скажет как можно интервал выбрать при помоши их?
Цитата

2. придется вычислять timestampы в коде самому как и указано выше постом.
удачи. 

Шас берусь пробовать по этому пути тож  smile 

Это сообщение отредактировал(а) Ak47black - 13.12.2006, 13:12
PM MAIL   Вверх
SamDark
Дата 13.12.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38



Ak47black, 
Путь с timestamp-ами экономичнее, да и проще.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Ak47black
Дата 13.12.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Можете подкинуть статью где четко описываеться как выводиться timestamp.
Или как мне записывать даты в формате timestamp, чтобы потом можно было вибирать при помоши MySql:
  • по дням 
  • по неделям
  • по месецам


Это сообщение отредактировал(а) Ak47black - 13.12.2006, 13:37
PM MAIL   Вверх
SamDark
Дата 13.12.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38





--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Ak47black
Дата 13.12.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Некак невыходит  smile .
Кто знает посмотрите пожалуйста где тут ошибка
Код

  $row = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p55_software_stats WHERE timestamp >=".strtotime("now")." AND timestamp < ".strtotime("+1 day")." AND name='".$product_name."'");

Или это подругому делаеться, то как ?

Это сообщение отредактировал(а) Ak47black - 13.12.2006, 15:07
PM MAIL   Вверх
Ak47black
Дата 13.12.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Решил вотпрос.
Код

  $day_now = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
  $day_tomorow = mktime(0, 0, 0, date("m")  , date("d")+2, date("Y"));  

Спасибо всем кто участвовал.
PM MAIL   Вверх
Vaulter
Дата 13.12.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 3
Всего: 22



Ak47black, на COUNT(*) не забудь переделать. пожалей сервак


--------------------
PM MAIL WWW ICQ   Вверх
Ytkonos
Дата 17.1.2007, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 15.10.2004
Где: MO

Репутация: нет
Всего: нет



Как правильно оформить date_format();?

Пробовал:
Код

mysql_query("SELECT date_format(NOW(), '%d.%m.%Y')");


Не форматит...(
PM WWW ICQ   Вверх
Mal Hack
Дата 18.1.2007, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



PM ICQ   Вверх
Ytkonos
Дата 18.1.2007, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 15.10.2004
Где: MO

Репутация: нет
Всего: нет



там смотрел, неособ разобрался.
PM WWW ICQ   Вверх
Mal Hack
Дата 18.1.2007, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Да ничерта ты не смотрел..
Во-первых, заглавными буквами, во-вторых, что значит "не форматит"? Что выдает? Что должно быть?
PM ICQ   Вверх
Ytkonos
Дата 18.1.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 15.10.2004
Где: MO

Репутация: нет
Всего: нет



Заглавными пробовал, не помогает.
Не форматит- не преобразует дату, как нужно.
Выдает: 2007-01-18 16:33:17
Должно быть: 18.01.2007
PM WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.