Автор Тема: Создание рейтинга с периодом времени.  (Прочитано 3052 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Craze

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zetaline.ru
Народ, помогите. Нужно сделать рейтинг консультантов по колличеству ответов, но чтобы он составлялся с периодом в 14 дней, а потом обнулялся. Т.е. люди отвечают 14 дней, формируется рейтинг, а через 14 дней все с начала. Главная проблема, как отобразить ответы за 14 дней? На 1 день я делаю так:

$r = mysql_query("select count(*),consultant_id from answers  where answer_date like \'".date("Y-m-d")."%\' group by consultant_id limit 20");
echo mysql_error();
$shown = mysql_num_rows($r);
$rating = array();
$and  = "";
while($q = mysql_fetch_array($r)) {
  $rating[$q[1]] = $q[0];
  $and = $and." and id != ".$q[1];
}
arsort($rating);

$max_id_day = array_pop(array_keys($rating));
$max_day = $rating[$max_id_day];

Главная фишка тут вот в чем where answer_date like \'".date("Y-m-d")."%\'
А как вот тут ставить 14 дней лимита не знаю! Подскажите, если можете.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Создание рейтинга с периодом времени.
« Ответ #1 : 06 Апреля 2004, 22:16:14 »
а почему вопрос задан в форуме по пхп, а не по мускулю?
Нет, можно, конечно,  подставить в функцию date, которую ты используешь второй аргумент - результат работы mktime(), но правильнее будет сделать все средствами mysql
Вот, настоятельно рекомендую к прочтению:
http://www.mysql.com/doc/ru/Date_and_time_functions.html

и выкини на помойку этот уродский лайк.
операторами СРАВНЕНИЯ являются знак БОЛЬШЕ > и МЕНЬШЕ < - вот их и надо использовать.

Оффлайн Craze

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zetaline.ru
Создание рейтинга с периодом времени.
« Ответ #2 : 06 Апреля 2004, 22:42:54 »
Да, спасибо. Там есть пример на 30 дней, его можно и в 14 переработать. Спасибо, буду пробовать.

Оффлайн Craze

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zetaline.ru
Создание рейтинга с периодом времени.
« Ответ #3 : 06 Апреля 2004, 22:53:26 »
Вот только интересно, там есть две даты - сегодняшняя и какая-то вторая
 mysql> SELECT something FROM tbl_name
        WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

Как вот сюда даты записать? что-то не понимаю.


З.Ы. Разговор и правда пошел в SQL, извиняюсь, но не могу же перенести тему в другой раздел.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Создание рейтинга с периодом времени.
« Ответ #4 : 06 Апреля 2004, 22:57:40 »
"какая-то вторая" - это и есть твое поле с датой!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28