0){ $os_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_os set hit=hit+1 WHERE idx='$os_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_os SET os='$str_os', hit='1'", $GLOBALS["dblink"]); $os_idx = mysql_insert_id($GLOBALS["dblink"]); } //browser 정보 입력 $rs = mysql_query("SELECT idx FROM $tbl_browser WHERE browser='$str_browser'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $browser_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_browser set hit=hit+1 WHERE idx='$browser_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_browser SET browser='$str_browser', hit='1'", $GLOBALS["dblink"]); $browser_idx = mysql_insert_id($GLOBALS["dblink"]); } //referer 정보 입력 $rs = mysql_query("SELECT idx FROM $tbl_referer WHERE referer='$str_referer'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $referer_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_referer set hit=hit+1 WHERE idx='$referer_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_referer SET referer='$str_referer', hit='1'", $GLOBALS["dblink"]); $referer_idx = mysql_insert_id($GLOBALS["dblink"]); } //domain 정보 입력 $rs = mysql_query("SELECT idx FROM $tbl_domain WHERE domain='$str_domain'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $domain_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_domain set hit=hit+1 WHERE idx='$domain_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_domain SET domain='$str_domain', hit='1'", $GLOBALS["dblink"]); $domain_idx = mysql_insert_id($GLOBALS["dblink"]); } //ip 정보 입력 $rs = mysql_query("SELECT idx FROM $tbl_ip WHERE ip='$str_ip'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $ip_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_ip set hit=hit+1 WHERE idx='$ip_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_ip SET ip='$str_ip', hit='1'", $GLOBALS["dblink"]); $ip_idx = mysql_insert_id($GLOBALS["dblink"]); } //page 정보 입력 $rs = mysql_query("SELECT idx FROM $tbl_page WHERE page='$str_page'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $page_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_page set hit=hit+1 WHERE idx='$page_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_page SET page='$str_page', hit='1'", $GLOBALS["dblink"]); $page_idx = mysql_insert_id($GLOBALS["dblink"]); } //searchengin 정보 입력 $searchengin_idx=""; if($str_searchengin){ $rs = mysql_query("SELECT idx FROM $tbl_searchengin WHERE searchengin='$str_searchengin'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $searchengin_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_searchengin set hit=hit+1 WHERE idx='$searchengin_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_searchengin SET searchengin='$str_searchengin', hit='1'", $GLOBALS["dblink"]); $searchengin_idx = mysql_insert_id($GLOBALS["dblink"]); } } $keyword_idx=""; //keyword 정보 입력 if($str_keyword){ $rs = mysql_query("SELECT idx FROM $tbl_keyword WHERE keyword='$str_keyword'", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $keyword_idx = mysql_result($rs,0); mysql_query("UPDATE $tbl_keyword set hit=hit+1 WHERE idx='$keyword_idx'", $GLOBALS["dblink"]); }else{ mysql_query("INSERT INTO $tbl_keyword SET keyword='$str_keyword', hit='1'", $GLOBALS["dblink"]); $keyword_idx = mysql_insert_id($GLOBALS["dblink"]); } } //log 정보 입력 $sql = "INSERT INTO $tbl_log SET browser='$browser_idx', domain='$domain_idx', referer='$referer_idx', ip='$ip_idx', searchengin='$searchengin_idx', keyword='$keyword_idx', os='$os_idx', page='$page_idx' "; mysql_query($sql, $GLOBALS["dblink"]); //날짜설정 $yyyy = date('Y'); $mm = date('m'); $dd = date('d'); $week = date('w'); $hh = date('G'); //count 정보 입력 $rs = mysql_query("SELECT idx FROM $tbl_counter WHERE yyyy='$yyyy' AND mm='$mm' AND dd='$dd' ", $GLOBALS["dblink"]); $total = mysql_num_rows($rs); if($total > 0){ $counter_idx = mysql_result($rs,0); $hh_sql = "h".$hh."=h".$hh."+1, "; $sql = "UPDATE $tbl_counter SET $hh_sql hit=hit+1 WHERE idx='$counter_idx' "; mysql_query($sql, $GLOBALS["dblink"]); }else{ $hh_sql = "h".$hh."=h".$hh."+1, "; $sql = "INSERT INTO $tbl_counter SET yyyy='$yyyy', mm='$mm', dd='$dd', week='$week', $hh_sql hit='1' "; mysql_query($sql, $GLOBALS["dblink"]); } } //시간대별 접속자수 표시 function getAccessCounterHourly($s_date, $e_date){ $tbl = $GLOBALS["_conf_tbl"]["log"]["counter"]; $sql = "SELECT "; for($i=0;$i<24;$i++){ $sql .= "SUM(h".$i.") AS h".$i.", "; } $sql .= "SUM(hit) AS hit "; $sql .= "FROM $tbl "; $sql .=" WHERE concat(yyyy,'-',mm,'-',dd) >= '$s_date' AND concat(yyyy,'-',mm,'-',dd) <= '$e_date'"; $rs = mysql_query($sql, $GLOBALS["dblink"]); $total_rs = mysql_num_rows($rs); if($total_rs > 0){ $list['total'] = $total_rs; for($i=0; $i < $total_rs; $i++){ $list['list'][$i] = mysql_fetch_assoc($rs); } }else{ $list['total'] = 0; } return $list; } //일별 접속자수 표시 function getAccessCounterDaily($s_date, $e_date){ $tbl = $GLOBALS["_conf_tbl"]["log"]["counter"]; //전체합계 $sql = "SELECT sum(hit) "; $sql .= "FROM $tbl "; $sql .=" WHERE concat(yyyy,'-',mm,'-',dd) >= '$s_date' AND concat(yyyy,'-',mm,'-',dd) <= '$e_date'"; $rs = mysql_query($sql, $GLOBALS["dblink"]); $sum = mysql_result($rs,0,0); $sql = "SELECT yyyy, mm, dd, week, hit "; $sql .= "FROM $tbl "; $sql .=" WHERE concat(yyyy,'-',mm,'-',dd) >= '$s_date' AND concat(yyyy,'-',mm,'-',dd) <= '$e_date'"; //echo $sql; $rs = mysql_query($sql, $GLOBALS["dblink"]); $total_rs = mysql_num_rows($rs); if($total_rs > 0){ $list['total'] = $total_rs; $list['sum'] = $sum; for($i=0; $i < $total_rs; $i++){ $list['list'][$i] = mysql_fetch_assoc($rs); } }else{ $list['total'] = 0; $list['sum'] = 0; } return $list; } //월별 접속자수 표시 function getAccessCounterMonthly($s_date, $e_date){ $tbl = $GLOBALS["_conf_tbl"]["log"]["counter"]; $s_date = substr($s_date,0,7); $e_date = substr($e_date,0,7); //전체합계 $sql = "SELECT sum(hit) "; $sql .= "FROM $tbl "; $sql .=" WHERE concat(yyyy,'-',mm) >= '$s_date' AND concat(yyyy,'-',mm) <= '$e_date'"; $rs = mysql_query($sql, $GLOBALS["dblink"]); $sum = mysql_result($rs,0,0); //echo $sql; $sql = "SELECT yyyy, mm, sum(hit) as sum_hit "; $sql .= "FROM $tbl "; $sql .=" WHERE concat(yyyy,'-',mm) >= '$s_date' AND concat(yyyy,'-',mm) <= '$e_date' GROUP BY mm"; //echo $sql; $rs = mysql_query($sql, $GLOBALS["dblink"]); $total_rs = mysql_num_rows($rs); if($total_rs > 0){ $list['total'] = $total_rs; $list['sum'] = $sum; for($i=0; $i < $total_rs; $i++){ $list['list'][$i] = mysql_fetch_assoc($rs); } }else{ $list['total'] = 0; $list['sum'] = 0; } return $list; } //접속통계 일반 쿼리 function getAccessCounterTable($tbl_type, $s_date, $e_date, $scale, $offset=0){ // 테이블 지정 $tbl = $GLOBALS["_conf_tbl"]["log"]["log"]; $tbl_browser = $GLOBALS["_conf_tbl"]["log"]["browser"]; $tbl_domain = $GLOBALS["_conf_tbl"]["log"]["domain"]; $tbl_referer = $GLOBALS["_conf_tbl"]["log"]["referer"]; $tbl_ip = $GLOBALS["_conf_tbl"]["log"]["ip"]; $tbl_searchengin = $GLOBALS["_conf_tbl"]["log"]["searchengin"]; $tbl_keyword = $GLOBALS["_conf_tbl"]["log"]["keyword"]; $tbl_os = $GLOBALS["_conf_tbl"]["log"]["os"]; $tbl_page = $GLOBALS["_conf_tbl"]["log"]["page"]; $sql = "SELECT count(idx) "; $sql .= "FROM $tbl "; $sql .=" WHERE wdate >= '$s_date 00:00:00' AND wdate <= '$e_date 23:59:59'"; $rs = mysql_query($sql, $GLOBALS["dblink"]); $total_sum = mysql_result($rs,0,0); if($tbl_type=="os"){ $sql = " SELECT B.os, count(A.idx) AS hit FROM $tbl A, $tbl_os B "; $sql .=" WHERE A.os=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.os "; $sql .=" order by hit desc "; }else if($tbl_type=="browser"){ $sql = " SELECT B.browser, count(A.idx) AS hit FROM $tbl A, $tbl_browser B "; $sql .=" WHERE A.browser=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.browser "; $sql .=" order by hit desc "; }else if($tbl_type=="ip"){ $sql = " SELECT B.ip, count(A.idx) AS hit FROM $tbl A, $tbl_ip B "; $sql .=" WHERE A.ip=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.ip "; $sql .=" order by hit desc "; }else if($tbl_type=="domain"){ $sql = " SELECT B.domain, count(A.idx) AS hit FROM $tbl A, $tbl_domain B "; $sql .=" WHERE A.domain=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.domain "; $sql .=" order by hit desc "; }else if($tbl_type=="referer"){ $sql = " SELECT B.referer, count(A.idx) AS hit FROM $tbl A, $tbl_referer B "; $sql .=" WHERE A.referer=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.referer "; $sql .=" order by hit desc "; }else if($tbl_type=="page"){ $sql = " SELECT B.page, count(A.idx) AS hit FROM $tbl A, $tbl_page B "; $sql .=" WHERE A.page=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.page "; $sql .=" order by hit desc "; }else if($tbl_type=="searchengin"){ $sql = " SELECT B.searchengin, count(A.idx) AS hit FROM $tbl A, $tbl_searchengin B "; $sql .=" WHERE A.searchengin=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.searchengin "; $sql .=" order by hit desc "; }else if($tbl_type=="keyword"){ $sql = " SELECT B.keyword, count(A.idx) AS hit FROM $tbl A, $tbl_keyword B "; $sql .=" WHERE A.keyword=B.idx "; $sql .=" AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59'"; $sql .=" group by A.keyword "; $sql .=" order by hit desc "; } $rs = mysql_query($sql, $GLOBALS["dblink"]); $total_rs = mysql_num_rows($rs); //echo $sql; if($total_rs > 0){ $list['total'] = $total_rs; $list['total_sum'] = $total_sum; // 페이지 네비게이션 오프셋 지정. if(!$offset){ $offset=0; }else{ $offset=$offset; } // offset 이 전체 게시물수보다 작을때 offset 을 전체게시물 - 페이지당 보여줄 글 수로 offset 설정 if($total_rs<=$offset){ $offset = $total_rs - $scale; } //scale 0 으로 지정시에는 전체 가져옴 if($scale > 0){ $sql .= " limit $offset,$scale "; } $rs = mysql_query($sql,$GLOBALS["dblink"]); // offset 을 이용한 limit 가 적용된 갯수 $total = mysql_num_rows($rs); $list['list']['total'] = $total; // 페이지 네비게이션 오프셋 지정. for($i=0; $i < $total; $i++){ $list['list'][$i] = mysql_fetch_assoc($rs); } }else{ $list['total'] = 0; $list['total_sum'] = 0; } return $list; } //접속로그 보기 function getAccessCounterLog($s_date, $e_date, $scale, $offset=0){ // 테이블 지정 $tbl = $GLOBALS["_conf_tbl"]["log"]["log"]; $tbl_browser = $GLOBALS["_conf_tbl"]["log"]["browser"]; $tbl_domain = $GLOBALS["_conf_tbl"]["log"]["domain"]; $tbl_referer = $GLOBALS["_conf_tbl"]["log"]["referer"]; $tbl_ip = $GLOBALS["_conf_tbl"]["log"]["ip"]; $tbl_searchengin = $GLOBALS["_conf_tbl"]["log"]["searchengin"]; $tbl_keyword = $GLOBALS["_conf_tbl"]["log"]["keyword"]; $tbl_os = $GLOBALS["_conf_tbl"]["log"]["os"]; $tbl_page = $GLOBALS["_conf_tbl"]["log"]["page"]; $sql = "SELECT A.idx, A.wdate, B.browser, C.domain, D.referer, E.ip, F.searchengin, G.keyword, H.os, I.page FROM $tbl A LEFT JOIN $tbl_browser B ON A.browser=B.idx LEFT JOIN $tbl_domain C ON A.domain=C.idx LEFT JOIN $tbl_referer D ON A.referer=D.idx LEFT JOIN $tbl_ip E ON A.ip=E.idx LEFT JOIN $tbl_searchengin F ON A.searchengin=F.idx LEFT JOIN $tbl_keyword G ON A.keyword=G.idx LEFT JOIN $tbl_os H ON A.os=H.idx LEFT JOIN $tbl_page I ON A.page=I.idx WHERE 1=1 AND A.wdate >= '$s_date 00:00:00' AND A.wdate <= '$e_date 23:59:59' "; $sql .= " order by idx desc "; $rs = mysql_query($sql, $GLOBALS["dblink"]); $total_rs = mysql_num_rows($rs); //echo $sql; if($total_rs > 0){ $list['total'] = $total_rs; // 페이지 네비게이션 오프셋 지정. if(!$offset){ $offset=0; }else{ $offset=$offset; } // offset 이 전체 게시물수보다 작을때 offset 을 전체게시물 - 페이지당 보여줄 글 수로 offset 설정 if($total_rs<=$offset){ $offset = $total_rs - $scale; } //scale 0 으로 지정시에는 전체 가져옴 if($scale > 0){ $sql .= " limit $offset,$scale "; } $rs = mysql_query($sql,$GLOBALS["dblink"]); // offset 을 이용한 limit 가 적용된 갯수 $total = mysql_num_rows($rs); $list['list']['total'] = $total; // 페이지 네비게이션 오프셋 지정. for($i=0; $i < $total; $i++){ $list['list'][$i] = mysql_fetch_assoc($rs); } }else{ $list['total'] = 0; } return $list; } ?>