소스 좀 봐주세요.. 이상하게 나타나서요..!! > 그누3질답

그누3질답

소스 좀 봐주세요.. 이상하게 나타나서요..!! 정보

그누보드 소스 좀 봐주세요.. 이상하게 나타나서요..!!

본문

이상하게 추천수가 10을 넘어 버리면..목록에서 안보이네요..
추천수가 9 일때 보이다가 10되면..목록에서 사라지네요..시간 설정을 한달 햇는데도..
일주일 밖에 않된게시물인데 추천수가 10인데..추천 목록에서 사라져요..
아래는 소스입니다.
도움 좀 부탁 드립니다..
왜 추천수가 10이 넘으면 목록에 나타나지 않는지?

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "STYLE");

?>
<body leftmargin=0 topmargin=0 >


<?
//if ($hours < 1 || $hours > 72) {
//if ($hours < 1 || $hours > 6) {
//    $hours = 1;
//}
$hours = 720;

$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));

$sql = " select a.bo_subject, a.bo_table, b.gr_subject
          from $cfg[table_board] a, $cfg[table_group] b
        where a.gr_id = b.gr_id AND b.gr_id = '그룹명'
        order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
    $tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
    $sql2 = " select a.wr_id,
                    a.wr_parent_id,
                    a.mb_id,
                    a.wr_name,
                    a.wr_email,
                    a.wr_num,
a.wr_file1,
                    a.wr_subject,
                    a.wr_comment,
                    a.wr_commentcnt,
                    a.wr_datetime,
a.wr_good,
                    b.mb_icon
                from $tbl a left join $cfg[table_member] b on (a.mb_id = b.mb_id)
              where a.wr_datetime >= '$intime' and a.wr_good >0
              order by a.wr_good,a.wr_id desc ";
    $result2 = sql_query($sql2);
    for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
        if ($row2[wr_comment] > 0) {
            $sql3 = " select wr_subject
                        from $tbl
                      where wr_comment = 0
                        and wr_parent_id = '$row2[wr_parent_id]' ";
            $row3 = sql_fetch_array($sql3);
            $wr_subject = $row3[wr_subject];
        } else {
            $wr_subject = $row2[wr_subject];
        }
        $wr_subject = get_text($wr_subject);

        $key = $row2[wr_good] .$row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
        $list[$key]->bo_table = $row[bo_table];
        $list[$key]->bo_subject = $row[bo_subject];
        $list[$key]->mb_id = $row2[mb_id];
        $list[$key]->mb_icon = $row2[mb_icon];
        $list[$key]->wr_id = $row2[wr_id];
        $list[$key]->wr_parent_id = $row2[wr_parent_id];
        $list[$key]->wr_email = $row2[wr_email];
        $list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
        $list[$key]->wr_subject = get_text(cut_str($wr_subject,77,''));
        $list[$key]->wr_comment = $row2[wr_comment];
        $list[$key]->wr_commentcnt = $row2[wr_commentcnt];
        $list[$key]->wr_datetime = substr($row2[wr_datetime],0,10);
        $list[$key]->wr_good = $row2[wr_good];
$list[$key]->wr_file1 = $row2[wr_file1];

    }
    mysql_free_result($result2);
}
mysql_free_result($result);
?>

<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor>

<?
if (count($list) > 0) {
    krsort($list);
$good_rank=0;
    foreach ($list as $key=>$value) {
        $comment = "";
        $atag_comment = "";

        if ($value->wr_comment > 0) {
            $comment = "<span style='font-size:8pt;'>[c]</span> ";
            $atag_comment = "#c{$value->wr_id}";
        }


        $commentcnt = "";
        if ($value->wr_commentcnt > 0)
            $commentcnt = "<font size=-1>({$value->wr_commentcnt})</font>";

        $wr_name = gblayer($value->mb_id, $value->wr_name, $value->wr_email);

$good_rank ++;

           

     
echo "<tr><td valign=top style=padding-left:3<a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>{$value->bo_subject}</font>...<font style=font-size:9pt color=black>{$value->wr_subject}</b></font></a> <font color=#3366FF style=font-size:8pt>({$value->wr_good})</font></td>";
  echo "<tr><td height=1 colspan=2></td>";

 
  //echo "<tr><td height=1 background=/img/dot03.gif></td>";
 

     

if ($good_rank ==5) break;
    }
} else
    echo "<td height=25 align=center>등록된 글이 없습니다.</td>";
?>

</table>
  • 복사

댓글 전체

위프로그램에서    ksort($list);를 주석처리하시고 natsort($list);를 추가해보세요.

//krsort($list);    // 주석처리
natsort($list);    // natsort()로 소팅하도록 변경
프로그램은 이상없이 잘 돌아갑니다
정상적으로 찾은 데이타 소팅에서 문제가 되고있습니다.
hit를 숫자로 소팅하는것이 아니라 문자로 소팅하다 보니..
숫자일경우 10,9,1 이런식으로 나와야 될것이
9,1,10 이런식으로 나오는 것입니다.

랭킹을 5까지만 뽑고 빠지도록 되어있는데 이것을 해제하시어 랭킹을 모두 보이도록 해보세요.
데이타는 정상적으로 찾은 것을 보실수 있으실겁니다.
© SIRSOFT
현재 페이지 제일 처음으로