Помогите пожалуйста с SQL запросом (незнаю как написать название темы чтобы обьяснить

  • Автор темы BeatBox
  • Дата начала

BeatBox

Guest
Помогите пожалуйста с SQL запросом (незнаю как написать название темы чтобы обьяснить

Здравствуйте.
У меня такая проблемка:
в разделе "галерея" при выводе всех галерей (названия категорий... ну вроде этого) идет название категории и рядом кол-во файлов в этой категории (тоесть сколько картинок в этой категории).
Мне очен-очень хочеться сделать атк чтобы было не просто "кол-во картинок" а ещё и "кол-во картинок за последние 30 дней". Сейчас обьясню.
Вот этот запрос
PHP:
$resultc = $db->sql_query("SELECT a.pid as pid, a.title as title, UNIX_TIMESTAMP(a.date) as formatted, a.status as status, a.style as style, [B]COUNT(b.image_active) as total_screen[/B], a.game_id FROM ".$prefix."_gallery as a LEFT JOIN images_images as b on (a.game_id=b.cat_id) $resultwhere GROUP BY a.pid limit $offset, $screen_num");
вот часть выделенная жирным текстом - это подсчет кол-ва картинок для категории. Подскажете, пожалуйста, как мне ещё сделать подсчет кол-ва картинок, которіе добавлені за последние 30 дней.. тоесть высчитывать примерно так наверне:
брать дату по юниксу в секундах каждой катринки, и таким образом определять старше она 30 дней или нет:
PHP:
$f_datar = $row['date_revs'];
$t_datar = mktime();
    $n_datar = $t_datar-$f_datar;

if ($n_datar < 86400)  {
    попадает в поледние 30 дней
    } else { 
старше 30 дней}
но ват как это все преобразовать в count() ..или может еще как-то можно.. вообщем я честно, незнаю.
 

Tor

Новичок
сделай еще один запрос к базе

типа
$resultc2= $db->sql_query("SELECT a.pid as pid, a.title as title, UNIX_TIMESTAMP(a.date) as formatted, a.status as status, a.style as style, COUNT(b.image_active) as total_screen, a.game_id FROM ".$prefix."_gallery as a LEFT JOIN images_images as b on (a.game_id=b.cat_id) $resultwhere GROUP BY a.pid limit $offset, $screen_num and unix_timespamp(NOW())-unix_timestamp(a.date)<2592000");
 

BeatBox

Guest
а если у меня мой запрос идет в WHILE (ну ниже потом)... то этот запрос (пример Torа) прийдеться вставлять уже в сам while и соотвественно на каждую выводимую статью добавиться +1 запрос. да? :( или я что-то непонял

-~{}~ 01.04.05 20:18:

может просто есть возможность прямо в первый запрос вставить count таких полей? у которых unix_timestamp(a.date)<2592000 ?

-~{}~ 01.04.05 21:50:

совсем никак? :(

-~{}~ 01.04.05 22:36:

я так понимаю это неосуществимо
 

Мутник

Новичок
BeatBox

а селект в селекте не хочешь попробовать?


Tor
100 тем - 100 дополнительных запросов??? это не есть красиво.
 

BeatBox

Guest
Мутник
а как это селект в селекте? Обьясните, ПОЖАЛУЙСТА.
 

Мутник

Новичок
завтра найду пример, как я такого типа что то делал.. чтобы быть точным.

p.s. а слабо вытащить все записи пхп-скриптом и в цикле один раз обработать??? тоже вариант, чтобы не сидеть и е ждать чужого решения.
 

BeatBox

Guest
Мутник
со временем у меня таких вариантов прийдеться очень много вытягивать :( а так только последние 50 ;)
Буду очень благодарен за помощь!
 
Сверху