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

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

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

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

회원로그인

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