접속자 집계를 다른 페이지에서 출력
본문
안녕하세요, 그누보드 초보입니다.
검색하고 연구하다가 질문올립니다. 많은 조언 부탁드립니다.
-그누보드 5.3 사용하여 적용중입니다.
-기본 베이직 테마를 사용중입니다.
***인덱스페이지의 우측 접속자 집계를 다른 페이지(관리자페이지/접속자 통계 visit_list)에서
본문하단에 출력하려고 합니다.
현재 admin/visit_list 페이지에서
<?php
$sub_menu = "200800";
include_once('./_common.php');
auth_check($auth[$sub_menu], 'r');
$g5['title'] = '접속자집계';
include_once('./visit.sub.php');
$colspan = 6;
$sql_common = " from {$g5['visit_table']} ";
$sql_search = " where vi_date between '{$fr_date}' and '{$to_date}' ";
if (isset($domain))
$sql_search .= " and vi_referer like '%{$domain}%' ";
$sql = " select count(*) as cnt
{$sql_common}
{$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select *
{$sql_common}
{$sql_search}
order by vi_id desc
limit {$from_record}, {$rows} ";
$result = sql_query($sql);
?>
<div class="tbl_head01 tbl_wrap">
<table>
<caption><?php echo $g5['title']; ?> 목록</caption>
<thead>
<tr>
<th scope="col">IP</th>
<th scope="col">접속 경로</th>
<th scope="col">브라우저</th>
<th scope="col">OS</th>
<th scope="col">접속기기</th>
<th scope="col">일시</th>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $row=sql_fetch_array($result); $i++) {
$brow = $row['vi_browser'];
if(!$brow)
$brow = get_brow($row['vi_agent']);
$os = $row['vi_os'];
if(!$os)
$os = get_os($row['vi_agent']);
$device = $row['vi_device'];
$link = '';
$link2 = '';
$referer = '';
$title = '';
if ($row['vi_referer']) {
$referer = get_text(cut_str($row['vi_referer'], 255, ''));
$referer = urldecode($referer);
if (!is_utf8($referer)) {
$referer = iconv_utf8($referer);
}
$title = str_replace(array('<', '>', '&'), array("<", ">", "&"), $referer);
$link = '<a href="'.$row['vi_referer'].'" target="_blank">';
$link = str_replace('&', "&", $link);
$link2 = '</a>';
}
if ($is_admin == 'super')
$ip = $row['vi_ip'];
else
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']);
if ($brow == '기타') { $brow = '<span title="'.get_text($row['vi_agent']).'">'.$brow.'</span>'; }
if ($os == '기타') { $os = '<span title="'.get_text($row['vi_agent']).'">'.$os.'</span>'; }
$bg = 'bg'.($i%2);
?>
<tr class="<?php echo $bg; ?>">
<td class="td_category"><?php echo $ip ?></td>
<td><?php echo $link ?><?php echo $title ?><?php echo $link2 ?></td>
<td class="td_category td_category1"><?php echo $brow ?></td>
<td class="td_category td_category3"><?php echo $os ?></td>
<td class="td_category td_category2"><?php echo $device; ?></td>
<td class="td_datetime"><?php echo $row['vi_date'] ?> <?php echo $row['vi_time'] ?></td>
</tr>
<?php
}
if ($i == 0)
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없거나 관리자에 의해 삭제되었습니다.</td></tr>';
?>
</tbody>
</table>
----------------------------------------------------------------------------------------------
<!--접속자통계 S-->
<div>
<br> <br> <br>
<?php echo visit('theme/basic'); // 접속자집계, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
</div>
<!--접속자통계 E-->
----------------------------------------------------------------------------------------------
<?php
if (isset($domain))
$qstr .= "&domain=$domain";
$qstr .= "&page=";
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr");
echo $pagelist;
include_once('./admin.tail.php');
?>
빨간라인안과 같이 붙여 넣었는데 첨부 그림과 같이 출력은 되지만 데이터 값(방문자 수)을 받지 못하고 있습니다.
경로문제인 것 같은데 안되서 질문드려 답을 구할까 합니다.
의견 주시면 감사하겠습니다.
답변 2
값은 나옵니다. 다만 스타일에 숫자 값의 텍스트 색상이 하얀색으로 되어 있고,
배경색상은 사용자페이지에서만 포함하는 default.css 에 정의되어 있어서 보이지 않는 상태입니다.
다음처럼 <!--접속자통계 E--> 바로 윗쯤에 default.css 파일에 있는 배경색 처리 스타일을 임시 처리해주는 방법이 있습니다.
....
</div>
<style>
/*컬러*/
.color_1 {background:#169dd6}
.color_2 {background:#14d53d}
.color_3 {background:#3814ff}
.color_4 {background:#7520c5}
</style>
<!--접속자통계 E-->
하하하!!!
감사합니다.
헤맸던 시간이 한 방에 풀렸습니다.
복 많이 받으시고 건강하세요!