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

http://sir.co.kr/g4_tiptech/62?sfl=wr_subject&stx=%EB%A0%88%EB%B2%A8&page=2">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} 이 함수를 <span style="포지션:인라인블락;">으로 감싸줘보면 어떨까요
그리고 align=absmiddle 이부분은 삭제
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
딱 보기엔 level_icon() 함수에서 position:absolute; 인 스타일의 div 박스를 돌려주는 것 같은데요.
level_icon 함수를 찾아서 수정해보세요.
답변에 대한 댓글 5개
단순히 이미지만 출력되는 코드밖에 없어서 출력되더라고 닉네임 옆에 딱 붙어 나와야 정상인 것 같은데... 이상하게 상단 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>";}
}
?>
url 알려주시면 잠깐 봐드릴께요. url 공개가 싫으시면 쪽지주시구요.
대신, 메일로 필요한 파일 보내드렸어요.
도메인/developer.lib.php
도메인/img_my
도메인/skin/new/basic
다른분께 도움청해 보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아무래도, for문 위쪽에 $level_icon = level_icon($list[$i][mb_id]); 라고 정의하면 안 되고,
{$list[$i][name]} 코드 바로 앞쪽에 <?=level_icon($list[$i][mb_id])?> 라고 넣어야 될 것 같은데, heredoc 구문이다 보니 php 구문 표시인 <?=와 ?>를 넣을 수가 없습니다.