Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2009-02-18 08:55:59

Dima
Гость

Мод подсчета кол-ва сообщений за сегодня

Помогите построить запрос подсчитывающий кол-во постов за сегодня, примерный код:

$result = $db->query('SELECT id FROM '.$db->prefix.'posts WHERE posted   {=>} {????????}') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
$today = $db->num_rows($result);

echo $today;

Редактировался Dima (2009-02-18 10:16:55)

#2 2009-02-18 14:22:42

Visman
Гость

Re: Мод подсчета кол-ва сообщений за сегодня

Если посмотреть в мод Online today, то получим примерно:

$date = getdate(time());
$todaystamp = mktime(0,0,0, $date['mon'], $date['mday'], $date['year']);
$result = $db->query('SELECT count(id) FROM '.$db->prefix.'posts WHERE posted>= '.$todaystamp.) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
$today = $db->result($result)

P.S. Не проверял.

#3 2009-02-18 16:11:09

Dima
Гость

Re: Мод подсчета кол-ва сообщений за сегодня

спасибо, этот код работает!!!!

Но я нарыл еще 2 решения этой проблемы

$result = $db->query('SELECT count(id) FROM '.$db->prefix.'posts WHERE posted>= '.(time()-86400)) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
$result = $db->query('SELECT count(id) FROM '.$db->prefix.'posts WHERE posted> '.strtotime(gmdate("M d Y"))) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

какой код лучше поставить? и учитывается ли часовые пояса и время сервера в этих кодах?

#4 2009-02-18 16:23:38

Visman
Гость

Re: Мод подсчета кол-ва сообщений за сегодня

Первое решение дает данные не за сегодня, а за последних 24 часа от текущего времени.
Второе- не понял smile

#5 2009-03-02 21:54:21

flashcat
Гость

Re: Мод подсчета кол-ва сообщений за сегодня

Я сделал вот так по вашим тут рассуждениям.
Добавил в индекс , или как у меня в отдельный фаил статистики :

$result5 = $db->query('SELECT count(id) FROM '.$db->prefix.'posts WHERE posted> '.strtotime(gmdate("M d Y"))) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
$today5 = $db->result($result5);

и в любое место где вам надо чтоб выводилось:

<?php echo "Постов за сутки :". $today5 ?>

протестировал работает на ура, можно конечно еще в языковые фаилы вписать дополнения если надо на разных языках, мне оно было не нужно, вот может пригодиться)

Подвал доски

Под управлением FluxBB. Хостинг Hostens