포인트연동 레벨아이콘 PHP 출력코드 뭐가 문제일까요?

포인트연동 레벨아이콘 PHP 출력코드 뭐가 문제일까요?

QA

포인트연동 레벨아이콘 PHP 출력코드 뭐가 문제일까요?

본문

6f55806d83b6f3faad0c23352fbb8484_1441713743_4651.gif
 

 

http://sir.co.kr/g4_tiptech/62?sfl=wr_subject&stx=%EB%A0%88%EB%B2%A8&page=2 

위 주소에 적힌 팁 이용해 

도메인/skin/new/basic/new.skin.php 파일에 아래처럼 출력코드를 넣었습니다.

 

그런데, 첨부한 이미지처럼 출력되네요. 뭐가 문제일까요?  

1시간 넘게 검색해봤는데, 답을 모르겠네요.

 

 

 

<?

for ($i=0; $i<count($list); $i++) 

{

    $gr_subject = cut_str($list[$i][gr_subject], 10);

    $bo_subject = cut_str($list[$i][bo_subject], 10);

    $wr_subject = get_text(cut_str($list[$i][wr_subject], 40));

    $level_icon = level_icon($list[$i][mb_id]); 

 

    echo <<<HEREDOC

<tr> 

    <td align="center" height="30" colspan=3><a href='./new.php?gr_id={$list[$i][gr_id]}'>{$gr_subject}</a></td>

    <td align="center" colspan=2><a href='./board.php?bo_table={$list[$i][bo_table]}'>{$bo_subject}</a></td>

    <td width=""> <a href='{$list[$i][href]}'>{$list[$i][comment]}{$wr_subject}</a></td>

    <td align="center">{$level_icon} {$list[$i][name]}</td>

    <td align="center" colspan=2>{$list[$i][datetime2]}</td>

    <!-- <a href="javascript:;" onclick="document.getElementById('mb_id').value='{$list[$i][mb_id]}';">·</a> -->

</tr>

<tr>

    <td colspan="9" height="1" background="{$new_skin_path}/img/dot_bg.gif"></td>

</tr>

HEREDOC;

}

?>

이 질문에 댓글 쓰기 :

답변 3

딱 보기엔 level_icon() 함수에서 position:absolute; 인 스타일의 div 박스를 돌려주는 것 같은데요.

level_icon 함수를 찾아서 수정해보세요. 

level_icon() 함수는 develop.lib.php 파일에 정의되어 extend 폴더에 아래와 같이 들어가 있습니다.
단순히 이미지만 출력되는 코드밖에 없어서 출력되더라고 닉네임 옆에 딱 붙어 나와야 정상인 것 같은데... 이상하게 상단 for문에 변수 정의한 곳에 출력이 되어 버리네요.







1. extend 디렉토리에 아래 내용을 저장해서 올립니다.

================================== developer.lib.php =============================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//*******************************************************************************/
//포인트별 아이콘 부여
function level_icon($mb_id) {

global $g4;

$sql = "select mb_point, mb_level, mb_id from $g4[member_table] where mb_id='$mb_id'";
$result = sql_query($sql);
$data = sql_fetch_array($result);

$is_admin = is_admin($mb_id);
$ic_point = $data[mb_point];
$ic_mb_id = $data[mb_id];//특정회원 지정아이콘

if($is_admin == 'super') //최고 관리자 아이콘
              {echo "<img src='$g4[path]/img_my/level_/sp.gif' align=absmiddle>";}
else if($ic_mb_id == 'test') //특정회원 지정아이콘
              {echo "<img src='$g4[path]/img_my/level_/g.gif' align=absmiddle>";}
else if(!$ic_point) //비회원 아이콘
              {echo "<img src='$g4[path]/img_my/level_/guest.gif' align=absmiddle>";}
else if($ic_point <= 1000) //1점 이상 1,000점 이하 아이콘1
              {echo "<img src='$g4[path]/img_my/level_/1.gif' align=absmiddle>";}
      else if($ic_point <= 3000) //1,001점 이상 3,000점 이하 아이콘2
              {echo "<img src='$g4[path]/img_my/level_/2.gif' align=absmiddle>";}
      else if($ic_point <= 7000) //3,001점 이상 7,000점 이하 아이콘3
              {echo "<img src='$g4[path]/img_my/level_/3.gif' align=absmiddle>";}
      else if($ic_point <= 15000) //7,001점 이상 15,000점 이하 아이콘4
              {echo "<img src='$g4[path]/img_my/level_/4.gif' align=absmiddle>";}
      else if($ic_point <= 30000) //15,001점 이상 30,000점 이하 아이콘5
              {echo "<img src='$g4[path]/img_my/level_/5.gif' align=absmiddle>";}
      else if($ic_point <= 60000) //30,001점 이상 60,000점 이하 아이콘6
              {echo "<img src='$g4[path]/img_my/level_/6.gif' align=absmiddle>";}
      else if($ic_point <= 100000) //60,001점 이상 100,000점 이하 아이콘7
              {echo "<img src='$g4[path]/img_my/level_/7.gif' align=absmiddle>";}
      else if($ic_point <= 200000) //100,001점 이상 200,000점 이하 아이콘8
              {echo "<img src='$g4[path]/img_my/level_/8.gif' align=absmiddle>";}
      else if($ic_point <= 300000) //200,001점 이상 300,000점 이하 아이콘9
              {echo "<img src='$g4[path]/img_my/level_/9.gif' align=absmiddle>";}
      else if($ic_point>=300001) //300,001점 이상 아이콘10
              {echo "<img src='$g4[path]/img_my/level_/10.gif' align=absmiddle>";}

}
?>

아뇨.. 그렇게까지 봐드릴수는 없어요. 잠깐 시간내어 개발자모드에서 퍼블리싱이 잘못되었는지 살펴보는것이지.. 그리고 저는 그누4 세팅도 안되어 있어서 코드주셔도 테스트를 못해봅니다. 이것때문에 그누4를 다시 세팅할수도 없구요.

다른분께 도움청해 보세요.

그냥 {$level_icon} 이 함수를 <span style="포지션:인라인블락;">으로 감싸줘보면 어떨까요

 

그리고  align=absmiddle 이부분은 삭제

관심갖고 답변해주셔서 고맙습니다. 근데, 해봐도 증상이 똑같아요. ㅜㅜ


아무래도, for문 위쪽에 $level_icon = level_icon($list[$i][mb_id]); 라고 정의하면 안 되고,
{$list[$i][name]} 코드 바로 앞쪽에 <?=level_icon($list[$i][mb_id])?> 라고 넣어야 될 것 같은데, heredoc 구문이다 보니  php 구문 표시인 <?=와 ?>를 넣을 수가 없습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
filter #sql ×
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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