Вывести количество нод, опубликованных за сегодня [решено]
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")); ?>
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Твой запрос неверен.
Он считает ноды, созданные за последние сутки, в том числе неопубликованные.
В ревизиях информация о публикации вроде бы не хранится.
Так что пиши свой модуль.
Вариант делать это через Views не рассматривается?
В фильтрах "дата публикации" Тип значения -> Смещение от текущего времени +
Содержимое: Опубликован (или Содержимое: Опубликован или админ, чтоб не опубликованные увидеть только админам)
Stroitel
Подскажите что я не так делаю? В фильтре выставляю "Меньше или равно" -1 day но все равно выводятся материалы опубликованные за все время, нужно чтобы за текущий день выводились.
Через 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(); ?>
Может кому пригодится.
Раскройте секрет, как такой запрос выводит сразу 3 разные цифры?
«пригодиться.»
Пардоньте, это все недосып виноват
Нет, он не выводит три цифры. Там на каждую цифру свой запрос. Проблема только с последней цифрой возникла.