Сайтостроительство


         

Анализ посетителей веб-сайта - часть 5


//Создаем ссылки для навигации по дням. //Этот код непосредственно к отчетам не имеет отношения, //поэтому его комментировать не будем. LString_Format(sql_query, "SELECT DATE_SUB('%s', INTERVAL 1 DAY), DATE_ADD('%s', INTERVAL 1 DAY)", *day, *day); mysql_query(pDB, *sql_query); res = mysql_store_result(pDB); row = mysql_fetch_row(res); printf("<table width=95%%><tr><td align=left> \ <a href=/common/report?day=%s>Предыдущий день</a> \ <td align=center> %s <td ><a href=/common/report?day=%s>Следующий день</a></table>", row[0], *day, row[1]); mysql_free_result(res);

//далее идут отчеты

//сначала печатаем заголовок printf("<h4>Общее количество хостов и хитов</h4>"); //затем результат SQL-запроса printTable(pDB, "SELECT COUNT(DISTINCT ip) as host, COUNT(*) as hit FROM hit");

printf("<h4>Динамика визитов по дням</h4>"); printTable(pDB, "SELECT count(distinct ip) as host, COUNT(*) as hit, \ DATE_FORMAT(it_date, '%Y-%m-%d') as date FROM hit \ GROUP BY date");

printf("<h4>Распределение хитов и хостов по часам</h4>"); LString_Format(sql_query, "SELECT count(distinct ip) as host, COUNT(*) as hit, \ DATE_FORMAT(it_date, '%%H') as hour FROM hit \ WHERE DATE_FORMAT(it_date, '%%Y-%%m-%%d')='%s' \ GROUP BY hour", *day); printTable(pDB, *sql_query);

printf("<h4>Страницы - распределение хостов и хитов по страницам</h4>"); LString_Format(sql_query, "SELECT COUNT(DISTINCT ip) as host, COUNT(*) as hit, \ CONCAT(spage,page) as url FROM hit \ WHERE DATE_FORMAT(it_date, '%%Y-%%m-%%d')='%s' \ GROUP BY url ORDER BY host DESC, hit DESC LIMIT 0,20", *day); printTable(pDB, *sql_query);

printf("<h4>Страницы - распределение по доменным именам</h4>"); LString_Format(sql_query, "SELECT COUNT(DISTINCT ip) as host, COUNT(*) as hit, spage FROM hit \ WHERE DATE_FORMAT(it_date, '%%Y-%%m-%%d')='%s' \ GROUP BY spage ORDER BY host DESC, hit DESC LIMIT 0,20", *day); printTable(pDB, *sql_query);




Содержание  Назад  Вперед