Помогите с запросом в бд mysql

Тема в разделе "Базы данных", создана пользователем Rabben, 25 дек 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Rabben

    Rabben

    Регистр.:
    26 мар 2009
    Сообщения:
    159
    Симпатии:
    10
    Здравствуйте, у меня стоит вывод популярных 5 статей:
    Код:
    $article_arraypop = $articlepop->article_list(0, 5, "article_views DESC", "", 1);
    Чтоб было более менее понятна структура запроса:
    Код:
    $article_array = $article->article_list($page_vars[0], $articles_per_page, $sort, $where, 1);
    Выводит прекрасно, нареканий никаких нет. Хочу модифицировать, и сделать, чтоб выводило за последний месяц. В таблице помимо article_views, есть article_date_start
    алгоритм такой:
    Код:
      $article_date_start = time();
      if($_POST['article_date_start_hour'] == "12") { $_POST['article_date_start_hour'] = 0; }
      if($_POST['article_date_start_ampm'] == "PM") { $_POST['article_date_start_hour'] += 12; }
      $article_date_start = mktime($_POST['article_date_start_hour'], $_POST['article_date_start_minute'], 0, $_POST['article_date_start_month'], $_POST['article_date_start_day'], $_POST['article_date_start_year']);
    
    Тоесть в бд попадает результат, аля такого: 1291738041
    Помогите доработать запрос так, чтоб выводило популярные статьи за месяц. Тоесть выводил популярные статьи из диапозона теперешняя дата - 30 дней. Надеюсь внятно объяснил)
     
  2. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    199
    Симпатии:
    55
    сделай условие article_date_start>time()-24*3600*30;
     
  3. Rabben

    Rabben

    Регистр.:
    26 мар 2009
    Сообщения:
    159
    Симпатии:
    10
    А как его сделать вместо article_views DESC?
     
  4. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    в методе article_list один из аргументов - $where
    возможно через него и можно передать:

    PHP:
    $article_arraypop $articlepop->article_list(05"article_views DESC""article_date_start>".strtotime('NOW - 1 month'), 1);
     
    Rabben нравится это.
Статус темы:
Закрыта.