Точки выхода"; else echo "?nav=0'>Точки входа"; echo ""; ?> $end; $i--) { // Формируем WHERE-условие для временного интервала $where = where_interval($begin, $end); //Запрос вытаскивающий из базы все точки входа за сутки $query = "SELECT ip, $dateofput as putdate FROM $tbl_ip $where AND systems != 'none' AND systems != 'robot_yandex' AND systems != 'robot_google' AND systems != 'robot_rambler' AND systems != 'robot_aport' AND systems != 'robot_msn' GROUP BY ip"; $pag = mysql_query($query); if(!$pag) { throw new ExceptionMySQL(mysql_error(), $query, "Ошибка при обращении к таблице страниц"); } if($count_all_ip = mysql_num_rows($pag)) // Получили общее число уникальных IP $count_all_ip { // Перегоняем точки входа в отдельный массив. // Этот массив будет прогоняться столько раз, // за сколько суток будет статистика. while($page = mysql_fetch_array($pag)) // Получаем страницу посещённую каждым из хостов первой/последней { $query = "SELECT id_page FROM $tbl_ip WHERE ip='$page[ip]' AND putdate='$page[putdate]'"; $pages[] = query_result($query); } } } //Получаем массив с названиями, id и адресами страниц $query = "SELECT * FROM $tbl_pages"; $pag = mysql_query($query); if(!$pag) { throw new ExceptionMySQL(mysql_error(), $query, "Ошибка при обращении к таблице страниц"); } $names = array(); if(mysql_num_rows($pag)) // Общее количество посещённых страниц в статистике { while($page = mysql_fetch_array($pag)) { $names[$page['id_page']]['name'] = $page['name']; $names[$page['id_page']]['title'] = $page['title']; $names[$page['id_page']]['target_page_id'] = $page['target_page_id']; } } // Считаем количество входов на каждую страницу if (isset($pages)) { $points = array_count_values($pages); // Сортируем по количесву входов в обратном порядке arsort($points); // Выводим таблицу где будет название страницы и // количество заходов через нее $target_id_count = array(); // Массив ключ -> ID целевой страницы, значение -> число её посещений if(count($points) > 0) foreach ($points as $id => $hits) { if(count($names) > 0) foreach ($names as $id2 => $name) { if ($id == $id2) { $target_page_id = $name['target_page_id']; if(!isset($target_id_count[$target_page_id])){ $q = "SELECT count(id_page) FROM $tbl_ip WHERE `id_page` = '$target_page_id' AND systems != 'none' AND systems != 'robot_yandex' AND systems != 'robot_google' AND systems != 'robot_rambler' AND systems != 'robot_aport' AND systems != 'robot_msn' ;"; $r= mysql_query($q); $target_id_count[$target_page_id] = mysql_num_rows($r); } $count_target_access = $target_id_count[$target_page_id]; // if(isset($points[$target_page_id])) $count_target_access = $points[$target_page_id]; else $count_target_access = 0; //print_r($points); //echo $count_target_access; $aim = (100*$count_target_access/$hits).'%'; $link = "http://{$_SERVER[SERVER_NAME]}{$names[$id][name]}"; print ""; } } } } // Выводим нулевые позиции /* if (count($points) > 0) { $arr[] = "0"; foreach ($points as $id => $hits) $arr[] = $id; } $query = "SELECT * FROM $tbl_pages WHERE id_page NOT IN (".implode(",", $arr)."0)"; $pag = mysql_query($query); if(!$pag) { throw new ExceptionMySQL(mysql_error(), $query, "Ошибка при обращении к таблице страниц"); } if(mysql_num_rows($pag)) { while ($zero=mysql_fetch_array($qwery)) { $link = "http://{$_SERVER[SERVER_NAME]}{$zero[name]}"; print "$link"; } }*/ echo "
Страница Достигших цели
$link$hits$aim
0
"; echo "
"; // Включаем завершение страницы require_once("../utils/bottomcounter.php"); } catch(ExceptionObject $exc) { require("../utils/exception_object.php"); } catch(ExceptionMySQL $exc) { require("../utils/exception_mysql.php"); } catch(ExceptionMember $exc) { require("../utils/exception_member.php"); } ?>