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

월간포인트랭크 다시 질문 올려요. 채택완료

재미니다 5년 전 조회 4,162

https://www.happyjung.com/lecture/2794?page=6" rel="nofollow">https://www.happyjung.com/lecture/2794?page=6

해피정님의 월간 포인트랭크 게시물을 보고 적용해보았는데요...

포인트 출력부분은 정상적으로 표기가 되는 것 같은데

닉네임란이 공백으로 출력됩니다.

 

아래 코드입니다.

 

</p>

<p><table width="100%">

    <?php

    $rank_nowdate = date("Y-m",time()); // 이번달

    $rank_sql = "select * , count(B.mb_id) as count, sum(B.po_point) as point from {$g5['member_table']} as A

        left join {$g5['point_table']} as B 

        on (A.mb_id = B.mb_id and A.mb_level < 10 and A.mb_point >= 0)

        where date_format(B.po_datetime,'%Y-%m') = '{$rank_nowdate}' 

        group by B.mb_id order by point desc LIMIT 0, 10 

    ";

    $rank_result = sql_query($rank_sql);

    //echo $rank_sql;

    ?>

    <tr>

        <td colspan="3" style="text-align:center; background-color:#39F; font-size:1.2em; font-weight:bold; color:#fff; line-height:30px; padding:3px 0;">

             포인트 순위

            <span style="font-size:0.9em;">(<?php echo substr($rank_nowdate, 0, 4)."년"; ?> <?php echo substr($rank_nowdate,5,2)."월"; ?>)</span>

        </td> 

    </tr>

    <?php

    for ($i=1; $rank_row=sql_fetch_array($rank_result); $i++) 

    { 

        $rank_member = sql_fetch("select mb_id, mb_nick, mb_email, mb_homepage from {$g5['member_table']} where mb_id = '".$row_rank['mb_id']."'"); 

        $rank_sideview = get_sideview($tmp_member['mb_id'], cut_str($tmp_member['mb_nick'], $config['cf_cut_name']), $tmp_member['mb_email'], $tmp_member['mb_homepage']); 

    ?>

    <tr style="border-bottom:1px dotted #CCC;">

        <td style="width:70px; text-align:center; line-height:26px;"><?php echo $i; ?></td>

        <td><?php echo $rank_sideview; ?></td>

        <td style="text-align:right; padding-right:20px;"><?php echo number_format($rank_row['mb_point']); ?></td>

    </tr>

    <?php

    }

    ?>

</table></p>

<p>

 

초보인 제 생각으로는 for문에 $rank_sideview 이 변수를 못 읽어들이는거같아서

아는거 이것저것 다 해봤습니다만 닉네임이 뜨질 않습니다.

 

아래 코드는 기존에 정상적으로 사용중인 포인트랭크 코드입니다.

 

</p>

<p><?php</p>

<p>    include_once "./_common.php";</p>

<p>    $sql_common = " </p>

<p>    from {$g5['member_table']} T1  ";</p>

<p>    $sql_search = " where (1)  ";</p>

<p>    if($stx){</p>

<p>        $sql_search .= " and (mb_nick like '%".$stx."%') ";</p>

<p>    }</p>

<p>    if (!$sst) {</p>

<p>        $sst = "mb_point ";</p>

<p>        $sod = "desc";</p>

<p>    }</p>

<p>    $sql_order = " order by {$sst} {$sod} ";</p>

<p>    $sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";</p>

<p>    $row = sql_fetch($sql);</p>

<p>    $total_count = $row['cnt'];</p>

<p>    if($rows < 1) $rows = 5;</p>

<p>    $total_page  = ceil($total_count / $rows);  // 전체 페이지 계산</p>

<p>    if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)</p>

<p>    $from_record = ($page - 1) * $rows; // 시작 열을 구함</p>

<p>    //$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} ";</p>

<p>    $sql = " select * {$sql_common} {$sql_search} {$sql_order} limit 0, 50 ";</p>

<p>    $result = sql_query($sql);</p>

<p>?></p>

<p> </p>

<p><?php</p>

<p>    if ($member[mb_id]){ </p>

<p>        include_once G5_LIB_PATH."/level_icon.lib.php"; </p>

<p>    ?></p>

<p><?php } ?> </p>

<p><table></p>

<p>    <tr></p>

<p>        <td colspan="3" style="text-align:center; background-color:#39F; font-size:1.2em; font-weight:bold; color:#fff; line-height:30px; padding:3px 0;"></p>

<p>            전체 포인트 TOP 50</p>

<p>        </td> </p>

<p>    </tr></p>

<p>    <tr class="rank_top"></p>

<p>        <td class="rank_top_menu">순위</td></p>

<p>        <td class="rank_top_menu">닉네임</td></p>

<p>        <td class="rank_top_menu">포인트</td></p>

<p>    </tr></p>

<p>    <?php </p>

<p>    $i = 0;</p>

<p>    while($row = sql_fetch_array($result)){ </p>

<p>        $arr = get_level_icon($row['mb_id']); </p>

<p>        if($i == 0){</p>

<p>            $standard = $row['mb_point'];</p>

<p>        }</p>

<p>        $width = $row['mb_point'] / $standard * 100;</p>

<p>        if($width > 100) $width = 100;</p>

<p>        $i++; </p>

<p>        ?></p>

<p>    <tr></p>

<p>        <td><?php echo (($page-1) * $rows) + $i; ?>위</td></p>

<p>        <td><img class="m_level_img" src="<?php echo G5_IMG_URL . "/level/" . "level_" . $arr['level']; ?>.png" /> <?php echo $row['mb_nick']; ?></td></p>

<p>        <td class="point"><span><em style="width:<?php echo sprintf("%.1f", $width); ?>%"><?php echo $row['mb_point']; ?></em></span></td></p>

<p>    </tr></p>

<p>    <?php } ?></p>

<p>    <?php if($i == 0){ ?></p>

<p>    <tr></p>

<p>        <td colspan="4">검색된 데이터가 업습니다.</td></p>

<p>    </tr></p>

<p>    <?php } ?></p>

<p></table></p>

<p>

 

두개를 비교하고 바꿔보고 해봤습니다만 잘 되지않아 이렇게 또 질문을 작성합니다.

월간랭크부분에서 닉네임이 출력되게 하려면 어떻게 수정을 해야하는지요...?

그누보드5.4.2입니다!

 

고수분들의 답변을 기다립니다!

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

답변 1개

채택된 답변
+20 포인트
ifelse
5년 전
for ($i=1; $rank_row=sql_fetch_array($rank_result); $i++) { 
        $rank_member = sql_fetch("select mb_id, mb_nick, mb_email, mb_homepage from {$g5['member_table']} where mb_id = '".$row_rank['mb_id']."'");
 
        $rank_sideview = get_sideview($tmp_member['mb_id'], cut_str($tmp_member['mb_nick'], $config['cf_cut_name']), $tmp_member['mb_email'], $tmp_member['mb_homepage']);</pre>

<p>

 

여기 부분을 

 

</p>

<p>for ($i=1; $rank_row=sql_fetch_array($rank_result); $i++)      { </p>

<p>        $mb = get_member($rank_row['mb_id']);

        $rank_sideview = get_sideview($mb['mb_id'], $mb['mb_nick']);     </p>

<p>

로 바꿔주세요.. 쪽지 보내드렸으니 참고하세요~

이제 퇴근 ~~ ㅠㅠ

 

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

답변에 대한 댓글 1개

재미니다
5년 전
감사합니다ㅜㅜ

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

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

로그인