글을 10개만 뽑아오고 싶은데요....... 정보
그누보드 글을 10개만 뽑아오고 싶은데요.......
첨부파일
본문
게시판 전체에서 최근 등록된 10개의 글 뽑아오기를 하려고 합니다.
근데 지정한 갯수만큼 안 뽑아지고 전체가 다 뽑히네요.
좀 봐주세요. ^^
==================================== 소스시작 ===========================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$maxrow = 10; // default 조회 값
?>
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td height=25><b>최근등록글</b></td>
</tr>
</table>
<table width=100% cellpadding=0 cellspacing=0><tr><td height=10></td></tr></table>
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td width='' valign=top>
<?
$list = array(); // initialize
$sql = " select bo_subject, bo_table
from $cfg[table_board]
where bo_use_search = '1' and gr_id <> 'aaa' and bo_table <> 'vvv' and bo_table <> 'ddd' and bo_table <> 'www'
order by bo_order_search ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id,
wr_parent_id,
mb_id,
wr_name,
wr_email,
wr_homepage,
wr_num,
wr_subject,
wr_comment,
wr_commentcnt,
wr_datetime
from $tbl
where wr_comment = 0
order by wr_id desc
limit 0, $maxrow"; //뒤에 숫자로 뽑고 싶은만큼 뽑으면 된다.
$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($sql3);
$wr_subject = $row3[wr_subject];
} else {
$wr_subject = $row2[wr_subject];
}
$wr_subject = get_text($wr_subject);
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
$list[$key]->bo_subject = $row[bo_subject];
$list[$key]->bo_table = $row[bo_table];
$list[$key]->mb_id = $row2[mb_id];
$list[$key]->mb_open = $row2[mb_open];
$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_homepage = $row2[wr_homepage];
$list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
$list[$key]->wr_subject = get_text(cut_str($wr_subject,80,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
}
mysql_free_result($result2);
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<?
if (count($list) > 0) {
krsort($list);
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=-2>({$value->wr_commentcnt})</font>";
}
$name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);
$value->bo_subject = cut_str($value->bo_subject, 20);
echo "
<tr height=22>
<!-- <td>".substr($value->wr_datetime,2,14)."</td>-->
<td> <a href='./?doc=bbs/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject} {$commentcnt}</a></td>
<!-- <td> $name</td>-->
</tr>\n";
echo "<tr><td colspan=3 bgcolor='#efefef'></td></tr>\n";
}
} else
echo "<td height=25 align=center>등록된 글이 없습니다.</td>";
?>
</table>
</td>
</tr>
</table>
======================================= 끝 ===================================
근데 지정한 갯수만큼 안 뽑아지고 전체가 다 뽑히네요.
좀 봐주세요. ^^
==================================== 소스시작 ===========================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$maxrow = 10; // default 조회 값
?>
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td height=25><b>최근등록글</b></td>
</tr>
</table>
<table width=100% cellpadding=0 cellspacing=0><tr><td height=10></td></tr></table>
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td width='' valign=top>
<?
$list = array(); // initialize
$sql = " select bo_subject, bo_table
from $cfg[table_board]
where bo_use_search = '1' and gr_id <> 'aaa' and bo_table <> 'vvv' and bo_table <> 'ddd' and bo_table <> 'www'
order by bo_order_search ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id,
wr_parent_id,
mb_id,
wr_name,
wr_email,
wr_homepage,
wr_num,
wr_subject,
wr_comment,
wr_commentcnt,
wr_datetime
from $tbl
where wr_comment = 0
order by wr_id desc
limit 0, $maxrow"; //뒤에 숫자로 뽑고 싶은만큼 뽑으면 된다.
$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($sql3);
$wr_subject = $row3[wr_subject];
} else {
$wr_subject = $row2[wr_subject];
}
$wr_subject = get_text($wr_subject);
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
$list[$key]->bo_subject = $row[bo_subject];
$list[$key]->bo_table = $row[bo_table];
$list[$key]->mb_id = $row2[mb_id];
$list[$key]->mb_open = $row2[mb_open];
$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_homepage = $row2[wr_homepage];
$list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
$list[$key]->wr_subject = get_text(cut_str($wr_subject,80,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
}
mysql_free_result($result2);
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<?
if (count($list) > 0) {
krsort($list);
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=-2>({$value->wr_commentcnt})</font>";
}
$name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);
$value->bo_subject = cut_str($value->bo_subject, 20);
echo "
<tr height=22>
<!-- <td>".substr($value->wr_datetime,2,14)."</td>-->
<td> <a href='./?doc=bbs/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject} {$commentcnt}</a></td>
<!-- <td> $name</td>-->
</tr>\n";
echo "<tr><td colspan=3 bgcolor='#efefef'></td></tr>\n";
}
} else
echo "<td height=25 align=center>등록된 글이 없습니다.</td>";
?>
</table>
</td>
</tr>
</table>
======================================= 끝 ===================================
댓글 전체

이히히~~~!
잘 됩니다. ^^
감사합니다. zzzz님!!!
잘 됩니다. ^^
감사합니다. zzzz님!!!

확인은 못해 봤는데요.. 이렇게 되지 않을까 합니다.
if (count($list) > 0) {
$l=-1; // 추가
krsort($list);
foreach ($list as $key=>$value) {
$l++; // 추가
if ($l >= $maxrow) break; // 추가
if (count($list) > 0) {
$l=-1; // 추가
krsort($list);
foreach ($list as $key=>$value) {
$l++; // 추가
if ($l >= $maxrow) break; // 추가