그누스터디의 국기 표시나오는거 설치해 사용하는데 접속자에 국기를 표시하려면...

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누스터디의 국기 표시나오는거 설치해 사용하는데 접속자에 국기를 표시하려면...

QA

그누스터디의 국기 표시나오는거 설치해 사용하는데 접속자에 국기를 표시하려면...

본문

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=235&sfl=wr_subject%7C%7Cwr_content&stx=%EA%B5%AD%EA%B8%B0&sop=and

 

그누스터디의 게시물에 국기표시하는거 설치해 사용하고 있는데요

실시간접속자에 표시르하려고 하는데 잘 안됩니다.

 

제가 짠 코드는

        //국기표시
        $row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['lo_url']}') ORDER BY ip DESC LIMIT 0,1 ");
        $ip_flag = $list[$i]['country'];

 

국가 표시가 안나오네요
 

 

이 질문에 댓글 쓰기 :

답변 6

관련 팁을 새로 올렸습니다.

https://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=80

저도 다시 해 보았는데 정확히 <?php echo $display_location ?>
나오지 않습니다.

여째든 국기는 잘 나옵니다.
원본으로도 해 보았는데 안되는데..??

여하튼 답변 감사합니다.

제가 해냈습니다

작은별님이 하신것처럼 하지 않고 파일하나만 수정하면 되는 방법적습니다

============================================================

1. bbs/current_connect.php 파일 수정

$list[$i] = $row;

위 코드 밑에 추가
$list[$i]['ip'] = $row['lo_ip'];

2. skin/connect/basic/current_connect.skin.php 파일 수정

for ($i=0; $i<count($list); $i++) {
위 코드 아래 쪽에 추가

$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];

============================================================


이렇게 하지 않고 아래와 같이 파일하나만 수정하는 방법

1. skin/connect/basic/current_connect.skin.php 파일 수정

$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['lo_ip']}') ORDER BY ip DESC LIMIT 0,1 ");

이렇게만 하면 바로 행선지도 보이고 국기도 보이고 다 잘됩니다.

{$list[$i]['lo_ip']}') 변경해 주면 됩니다.

혹시 필요하신 분 있으실까봐 자료로써 남겨 놓습니다.


  //국기표시
        $row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$member]['mb_ip']}') ");
        $ip_flag = $row_ip ['country'];
 
echo $ip_flag;

이렇게 하시면 됩니다

넓은마인드님 답변감사합니다.
그런데 알려주신 코드로 하면 실시간접속자가 마비가 되는군요

원래 그누스터디에서 알려준
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");

에 $list[$i]['wr_ip']}' 를 변경하면 될듯 한데...
잘 안되네요

하여튼 알려주신 코드로 하면 실시간접속자가 마비가 됩니다.

 $row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$member]['mb_ip']}') ORDER BY ip DESC LIMIT 0,1 ");

이걸로 쿼리 바꿔보세요

1개만 가져오도록 기존 쿼리대로 하고

ip 부분만 바꿧습니다

SELECT country FROM ip2nation WHERE ip < INET_ATON('{$member]['mb_ip']}') ORDER BY ip DESC LIMIT 0,1

 

이걸 echo 하셔서 나온 쿼리문을 디비에서 직접 돌려보시고 결과가 나오는지 확인해보세요

이 말을 이해하지 못해서 이렇게 하라는 말인것 같아서요

<?php
  $row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$member]['mb_ip']}']}') ORDER BY ip DESC LIMIT 0,1 ");
        $ip_flag = $row_ip ['country'];
 
echo $ip_flag;
?>

임의 파일로 만들어 루트에 올리고 읽어보았는데 ... 깨지네요 TT

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT