Вывести количество нод, опубликованных за сегодня [решено]

Аватар пользователя Arto Arto 16 февраля 2014 в 23:57

Здравствуйте.

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

Получается найти решения только для Drupal 6.

<?php
print db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'company' AND created > TIMESTAMP() - 60*60*24")); ?>

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 17 февраля 2014 в 8:49

Твой запрос неверен.
Он считает ноды, созданные за последние сутки, в том числе неопубликованные.
В ревизиях информация о публикации вроде бы не хранится.
Так что пиши свой модуль.

Аватар пользователя Stroitel Stroitel 17 февраля 2014 в 15:27

Вариант делать это через Views не рассматривается?
В фильтрах "дата публикации" Тип значения -> Смещение от текущего времени +
Содержимое: Опубликован (или Содержимое: Опубликован или админ, чтоб не опубликованные увидеть только админам)

Аватар пользователя smmyuzer smmyuzer 21 сентября 2014 в 16:58

Stroitel

Подскажите что я не так делаю? В фильтре выставляю "Меньше или равно" -1 day но все равно выводятся материалы опубликованные за все время, нужно чтобы за текущий день выводились.

Аватар пользователя Arto Arto 18 февраля 2014 в 22:09

Через views слишком громоздко, там всего-то вот такой блок:

http://farm6.staticflickr.com/5479/12587916403_88100f7d0e_o.png

У меня получилось в итоге составить рабочий запрос. Выглядит он вот так:

<?php print db_query("SELECT count(*) FROM node WHERE type = 'aalol' AND status = 1 AND created > UNIX_TIMESTAMP(CURDATE())")->fetchField(); ?>

Может кому пригодится.

Аватар пользователя Chyvakoff Chyvakoff 18 февраля 2014 в 9:42

"Arto" wrote:
<?php print db_query("SELECT count(*) FROM node WHERE type = 'aalol' AND status = 1 AND created > UNIX_TIMESTAMP(CURDATE())")->fetchField(); ?>
Может кому пригодиться.

Раскройте секрет, как такой запрос выводит сразу 3 разные цифры?

Аватар пользователя Arto Arto 18 февраля 2014 в 22:11

«пригодиться.»

Пардоньте, это все недосып виноват Smile

Нет, он не выводит три цифры. Там на каждую цифру свой запрос. Проблема только с последней цифрой возникла.