테스트 사이트 - 개발 중인 베타 버전입니다

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

홈짱 10년 전 조회 5,357


 

 

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="">&nbsp;<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]}';">&middot;</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개

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


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

댓글을 작성하려면 로그인이 필요합니다.

10년 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

홈짱
10년 전
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>";}

}
?>
카츠
10년 전
흠.. 그렇네요. 그렇담 해당 화면을 보기전엔 답변이 어렵겠는걸요.
url 알려주시면 잠깐 봐드릴께요. url 공개가 싫으시면 쪽지주시구요.
홈짱
10년 전
오토셋에 설치해 테스트해본거라....

대신, 메일로 필요한 파일 보내드렸어요.


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

다른분께 도움청해 보세요.
홈짱
10년 전
저도 다른 분 질문받고 접한 문제라..............궁금해서 찾아봤네요. ^^;;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인