Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Помогите построить запрос подсчитывающий кол-во постов за сегодня, примерный код:
$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)
Если посмотреть в мод 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. Не проверял.
спасибо, этот код работает!!!!
Но я нарыл еще 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());
какой код лучше поставить? и учитывается ли часовые пояса и время сервера в этих кодах?
Первое решение дает данные не за сегодня, а за последних 24 часа от текущего времени.
Второе- не понял
Я сделал вот так по вашим тут рассуждениям.
Добавил в индекс , или как у меня в отдельный фаил статистики :
$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 ?>
протестировал работает на ура, можно конечно еще в языковые фаилы вписать дополнения если надо на разных языках, мне оно было не нужно, вот может пригодиться)
Страницы 1
Тема закрыта