소스 좀 봐주세요.. 이상하게 나타나서요..!! 정보
그누보드 소스 좀 봐주세요.. 이상하게 나타나서요..!!본문
이상하게 추천수가 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>
추천수가 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()로 소팅하도록 변경
//krsort($list); // 주석처리
natsort($list); // natsort()로 소팅하도록 변경
프로그램은 이상없이 잘 돌아갑니다
정상적으로 찾은 데이타 소팅에서 문제가 되고있습니다.
hit를 숫자로 소팅하는것이 아니라 문자로 소팅하다 보니..
숫자일경우 10,9,1 이런식으로 나와야 될것이
9,1,10 이런식으로 나오는 것입니다.
랭킹을 5까지만 뽑고 빠지도록 되어있는데 이것을 해제하시어 랭킹을 모두 보이도록 해보세요.
데이타는 정상적으로 찾은 것을 보실수 있으실겁니다.
정상적으로 찾은 데이타 소팅에서 문제가 되고있습니다.
hit를 숫자로 소팅하는것이 아니라 문자로 소팅하다 보니..
숫자일경우 10,9,1 이런식으로 나와야 될것이
9,1,10 이런식으로 나오는 것입니다.
랭킹을 5까지만 뽑고 빠지도록 되어있는데 이것을 해제하시어 랭킹을 모두 보이도록 해보세요.
데이타는 정상적으로 찾은 것을 보실수 있으실겁니다.