Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как вывести в расширенной статистике, сколько раз был скачан файл?

Как вывести в расширенной статистике, сколько раз был скачан файл?


     30.09.2015    Общие вопросы по PHP, MySQL    2056

вопрос
Ребят, как вывести в расширенной статистике, сколько раз были скачаны все файлы вместе за сутки, за неделю, за месяц и за год? есть столбик dle_dcount в таблице _post
К примеру вывод новости за сутки, неделю,месяц, год выводятся так (кусок):

    $mysql_size = formatsize( $mysql_size );

    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post" );
    $stats_news = $row['count'];

    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE approve ='1'" );
    $stats_approve = $row['count'];

    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE allow_main ='1' AND approve ='1'" );
    $stats_main = $row['count'];

    $temp_date = date( 'Y-m-d H:i', $_TIME - (3596 * 24) );
    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR AND approve ='1'" );
    $stats_day = $row['count'];

    $temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 7) );
    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 7 DAY AND approve ='1'" );
    $stats_week = $row['count'];

    $temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 31) );
    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 31 DAY AND approve ='1'" );
    $stats_month = $row['count'];


    $temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 365) );
    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 365 DAY AND approve ='1'" );
    $stats_year = $row['count'];



$tpl->load_template('stat.tpl');

    $tpl->set( '{datenbank}', $mysql_size );
    $tpl->set( '{news_num}', $stats_news );
    $tpl->set( '{news_allow}', $stats_approve );
    $tpl->set( '{news_main}', $stats_main );
    $tpl->set( '{news_day}', $stats_day );
    $tpl->set( '{news_week}', $stats_week );
    $tpl->set( '{news_month}', $stats_month );
    $tpl->set( '{news_year}', $stats_year );


а как сделать со скачиваниями?Как то же можно, раз есть их подсчёт у каждого вложенного файла к новости (1 новость - 1 файл) новость я вляется песней с одним файлом.

Ответа пока нет


1 комментарий

misha-koder
Юзер

misha-koder - 30 сентября 2015 19:31 -

Общее количество скачиваний можно получить следующим запросом к базе данных:

SELECT SUM(`dcount`) AS `count` FROM `".PREFIX."_files`

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх