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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
포인트연동 레벨아이콘 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 구문 표시인 <?=와 ?>를 넣을 수가 없습니다.

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

회원로그인

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