그누스터디에서 국기나오는 소스에서 국가아이콘의 설명란에 국가넣어려면..?? 채택완료
그누스터디의 국기나오는 소스에서 국기의 아이콘을 보고자있자면 여러나라들이 국기가
보이곤 합니다.
그런데 우리나라 미국 일본 등 몇개의 나라만을 알겠는데 다른 나라 국기를 보니 이게 어느 나라일까
궁금해졌어요
그래서 사진에는 alt="설명" 알트기능을 이용해서 설명을 넣을수 있잖아요
그 설명란에 국가를 글자로보여지게 그누스터디의 소스를 넣으려고 하는데...잘 안되네요
===================================================
## 추가 내용 ##
아이콘 대신에 국가 이름으로 출력하기
$row_ip = " SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$list[$i]['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ";
$result = sql_query($row_ip );
$ip_nation = sql_fetch_array($result);
위 코드로 대체 후 원하는 위치에 추가
<?php echo $ip_nation['country'] ?>
===============================================
제가 한 방법은
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$row['mb_login_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
$row_country = " SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$row['mb_login_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ";
$result = sql_query($row_country );
$ip_nation = sql_fetch_array($result);
두개의 소스를 같이 넣고
<img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png">
을 변형해서 아래와 같이 넣었는데..
<img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png" alt="<?php echo $ip_nation['country'] ?>">
안되는군요
역시 고수님들의 조언이 필요한듯 합니다.
답변 5개
우선 2개의 결과물이 정상적으로 노출이 된다고 하셨으니
결과가 나온다면
$ip_nation = sql_fetch_array($result);
라고 했을때
$ip_nation 에 어떠한 값이 있어야 합니다. 즉 korea 이든 뭐든 디비의 값이 해당 변수에 들어가 있어야 합니다.
따라서
echo $ip_nation;
했을때 값이 노출되는지 확인하시고
결과값이 정상적으로 노출된다면
alt="<?=$ip_nation?>"
하시면 alt 에 값이 들어가게 됩니다
혹시 모르니
$row_country = " SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$row['mb_login_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ";
$result = sql_query($row_country );
$ip_nation = sql_fetch_array($result);
이걸
$row_country = sql_fetch("SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$row['mb_login_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ");
$ip_nation = $row_country['country'];
로 변경해서 해보세요
답변에 대한 댓글 3개
소스상에는 <img src="http://www.test.com/img/flags/kr.png" alt="Korea (South)">
잘 들어가셔서 테스트로 불러서 마우스를 올려보면 설명이 잘 올라오는데...??
그누보드 소스에 넣어서하면 소스상에는 위와 같이 보이나 마우스를 올리면 설명란이 안올라옵니다.
그누보드 코어소스에서 문제인지요.? 여기서 또 막힙니다.?
를 아래처럼 title을 사용해 보셔요.
[code]
<img src="http://www.test.com/img/flags/kr.png" title="<?php echo $ip_nation?>">
[/code]
댓글을 작성하려면 로그인이 필요합니다.
필요하신분이 있으실까봐 자료로 남겨놓습니다
도와주신 넓은마인드님께 다시한번 감사의 글 남깁니다
국기표시에 마우스 올려놓으면 나라가 표시되는 소스
=======================================
쓰시는 스킨파일에서 3개 파일 수정
1. list.skin.php
for ($i=0; $i<count($list); $i++) {
==> 밑에 소스 추가
//국기표시
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
$row_country = sql_fetch("SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$list[$i]['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ");</p>
<p> $ip_nation = $row_country['country'];</p>
<p> if ($list[$i]['wr_ip'] == '192.168.0.1') {
$ip_flag = 'kr';
} else {
$ip_flag = $row_ip['country'];
}
//국기표시끝
?>
보이고자 하는 곳에
</p>
<p><img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png" alt="<?php echo $ip_nation ?>" title="<?php echo $ip_nation ?>"></p>
<p>
2. view_comment.skin.php 파일수정
for ($i=0; $i<$cmt_amt; $i++) {
=====> 밑에 소스 추가
//국기표시
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
$row_country = sql_fetch("SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$list[$i]['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ");</p>
<p> $ip_nation = $row_country['country'];</p>
<p> if ($list[$i]['wr_ip'] == '192.168.0.1') {
$ip_flag = 'kr';
} else {
$ip_flag = $row_ip['country'];
}
//국기표시끝
보이고자 하는 곳에
</p>
<p><img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png" alt="<?php echo $ip_nation ?>" title="<?php echo $ip_nation ?>"></p>
<p>
3. view.skin.php 파일수정
제일 상단에...
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
===== 밑에 소스 추가
</p>
<p>//국기표시
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$view['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];</p>
<p>$row_country = sql_fetch("SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$view['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ");</p>
<p>$ip_nation = $row_country['country'];</p>
<p>if ($view['wr_ip'] == '192.168.0.1') {
$ip_flag = 'kr';
} else {
$ip_flag = $row_ip['country'];
}
//국기표시 </p>
<p>
?>
보이고자 하는 부분에 ..
</p>
<p><img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png" alt="<?php echo $ip_nation ?>" title="<?php echo $ip_nation ?>"></p>
<p>
추가사항: 아래소스는 자체서버를 두어 아이피가 내부아이피 192.168.0.1 등으로 나오올때 국가 넣는방법
</p>
<p>if ($view['wr_ip'] == '192.168.0.1') {
$ip_flag = 'kr';
} else {
$ip_flag = $row_ip['country'];
}</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
프로그램 디버깅은 동일 합니다
데이터를 못불러온다면
1. 해당 쿼리를 실제로 디비에서 실행해본다
"SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$$list[$i]['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 "
이 쿼리를 echo 하셔서 직접 출력해보세요
2. 1번에서 문제가 없다면 $ip_nation 을 echo 해본다
1번 2번 중에 하나는 반드시 문제가 있으므로 해당 부분을 수정 하시면 됩니다
답변에 대한 댓글 1개
제가 소스를 잘못 적어넣은것이였습니다.
게시판 아닌곳에서는 <?=$ip_nation?> 넣어서도 잘 구현되었는데
이렇게 넣었던 것이었습니다
<?=$ip_nation?> 을 <?php echo $ip_nation ?> 넣어주니 잘됩니다
감사합니다
댓글을 작성하려면 로그인이 필요합니다.
alt 에 정상적으로 글이 들어가있는데
마우스 롤오버시 글자가 안나오는 것은
그누보드 문제가 아닌 브라우져 문제입니다
이경우
1. alt 역확을 하는 레이어팝업 형식으로 처리하든지
2. <img src="...jpg" alt="대체 택스트" title="대체 텍스트" /> 이런식으로 title 까지 주시는 방법으로 처리하시면 될듯 합니다
답변에 대한 댓글 2개
제 브라우져는 크롬을 쓰는데... 요사이 다 크롬을 쓰겠죠.?
여하튼 타이틀을 같이 넣어주니 설명란 뜹니다
감사합니다.
제가 지금 성공한것은 그누보드의 게시판에 한것이 아니고
그누보드내의 다른 곳에 했는데 설명란이 잘 올라오는데요
그누보드 게시판에 본격적으로 넣었고 당연히 되겠지 하고 마우스를 올려보니
국가설명란이 올라오지 않는것입니다 그래서 소스보기로 보았더니 설명란이 비어있더군요 그러니까 국가란을 가져오지 못합니다.
list.skin.php 수정한 소스
//국기표시
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
$row_country = sql_fetch("SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$$list[$i]['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ");
$ip_nation = $row_country['country'];
if ($list[$i]['wr_ip'] == '192.168.0.1') {
$ip_flag = 'kr';
} else {
$ip_flag = $row_ip['country'];
}
//국기표시끝
이렇게 넣었는데 국가란을 불러오지 못하네요
왜 그런걸까요.?
댓글을 작성하려면 로그인이 필요합니다.
1.
echo " SELECT country FROM ip2nation WHERE ip < INET_ATON('{$row['mb_login_ip']}') ORDER BY ip DESC LIMIT 0,1 ";
해서 나온 값을 디비에 넣어보고 결과가 나오는지 확인
2.
echo " SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$row['mb_login_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ";
해서 나온 값을 디비에 넣어보고 결과가 나오는지 확인
위 2가지를 모두 확인해보시기 바랍니다
답변에 대한 댓글 1개
그런데 제가질문을 드린것은 img 사진 html 코드에 art 기능에 <?php echo $ip_nation['country'] ?> 기능을 넣으려고 하는것입니다.
그런데 이렇게 두개를 같은 곳에 넣으니 ...
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$row['mb_login_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
$row_country = " SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$row['mb_login_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ";
$result = sql_query($row_country );
$ip_nation = sql_fetch_array($result);
결과물이 안되는것입니다.
그래서 질문을 드린것이었습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인