팁엔테크=J.MANDO님그룹별최신글뽑기(인쿨르드방식)소스좀봐주실래요. 정보
팁엔테크=J.MANDO님그룹별최신글뽑기(인쿨르드방식)소스좀봐주실래요.본문
안녕하세요.
글제목에서처럼 만도님그룹별최신글뽑기소스질문입니다.
1 <?
2 if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
3
4 define("_DOCTYPE_", "DESIGN");
5if ($hours < 1 || $hours > 24) {
6 $hours = 24;
7 }
8 ?>
9 <table width=100% cellpadding=2 cellspacing=0 align=center valign=top>
10 <tr>
11<td colspan=3 align=center height=27 background='./<?=$cfg[bbs_dir]?>/imgs/b_titlebg.gif' st12yle='border:1px solid #A3A6A9;'>최신목록
13</td>
14</tr>
15<?
16$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
17$sql = " select a.bo_subject, a.bo_table, b.gr_subject from $cfg[table_board] a, $cfg[table_group] b 18 where a.gr_id = b.gr_id AND b.gr_id = 'hw'
19order by b.gr_id, a.bo_table limit 2 ";
20$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_content,
wr_comment,
wr_commentcnt,
wr_datetime
from $tbl
where wr_datetime
order by 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($sql3);
$wr_subject = $row3[wr_subject];
$wr_content = $row3[wr_content];
} else {
$wr_subject = $row2[wr_subject];
$wr_content = $row2[wr_content];
}
$wr_content = get_text($wr_content);
$wr_subject = get_text($wr_subject);
$wr_datetime = $row2[wr_datetime];
$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,45,'…'));
$list[$key]->wr_content = get_text(cut_str($wr_content,40,'…'));
$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);
if (count($list) > 0) {
krsort($list);
foreach ($list as $key=>$value) {
$k++;
$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);
//$list = $i++%2;
$value->bo_subject = cut_str($value->bo_subject, 20);
$list = $i++%2;
$icon_new = "";
if ($value->wr_datetime >= $intime) {
$icon_new = "<img src='./$cfg[bbs_dir]/imgs/icon_new.gif' border=0 align='absmiddle'>";
}
echo "
<tr class='list$list' height=22>
<td>
<table width=98% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width=17% nowrap>$icon_tip [<a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>".$value->bo_subject."</a>]</td>
<td width=''><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>{$value->wr_subject} {$commentcnt}$icon_new</a>
</td>
</tr>";
if( $k==1){
echo "<tr>
<td colspan=2 style='padding-left:10px;padding-right:5px;padding-bottom:3px;padding-top:3px;text-align:justify;'><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_content}</a>
</td>
</tr>";
}
echo" </table></td></tr>\n";
}
} else {echo "<td height=25 align=center>등록된 글이 없습니다.</td>"; }
?>
</table>
18번줄에 "hw"는그룹명입니다.
19번줄에19order by b.gr_id, a.bo_table limit 2 "; <-----요부분설명좀부탁합니다.
원하는건 위에 hw 그룹에있는모든최근게시물을 모두출력하고싶은데 현재는 그룹내에서도 일부만출력되는데 그룹내최근게시물을 모두출력할려면 어떻게하는지?
아시는분 답변좀부탁합니다.
만도님이설명해주시면 더욱좋겠지만 설명해주실분이 여러분계실것같아 부탁드립니다.
글제목에서처럼 만도님그룹별최신글뽑기소스질문입니다.
1 <?
2 if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
3
4 define("_DOCTYPE_", "DESIGN");
5if ($hours < 1 || $hours > 24) {
6 $hours = 24;
7 }
8 ?>
9 <table width=100% cellpadding=2 cellspacing=0 align=center valign=top>
10 <tr>
11<td colspan=3 align=center height=27 background='./<?=$cfg[bbs_dir]?>/imgs/b_titlebg.gif' st12yle='border:1px solid #A3A6A9;'>최신목록
13</td>
14</tr>
15<?
16$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
17$sql = " select a.bo_subject, a.bo_table, b.gr_subject from $cfg[table_board] a, $cfg[table_group] b 18 where a.gr_id = b.gr_id AND b.gr_id = 'hw'
19order by b.gr_id, a.bo_table limit 2 ";
20$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_content,
wr_comment,
wr_commentcnt,
wr_datetime
from $tbl
where wr_datetime
order by 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($sql3);
$wr_subject = $row3[wr_subject];
$wr_content = $row3[wr_content];
} else {
$wr_subject = $row2[wr_subject];
$wr_content = $row2[wr_content];
}
$wr_content = get_text($wr_content);
$wr_subject = get_text($wr_subject);
$wr_datetime = $row2[wr_datetime];
$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,45,'…'));
$list[$key]->wr_content = get_text(cut_str($wr_content,40,'…'));
$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);
if (count($list) > 0) {
krsort($list);
foreach ($list as $key=>$value) {
$k++;
$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);
//$list = $i++%2;
$value->bo_subject = cut_str($value->bo_subject, 20);
$list = $i++%2;
$icon_new = "";
if ($value->wr_datetime >= $intime) {
$icon_new = "<img src='./$cfg[bbs_dir]/imgs/icon_new.gif' border=0 align='absmiddle'>";
}
echo "
<tr class='list$list' height=22>
<td>
<table width=98% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width=17% nowrap>$icon_tip [<a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>".$value->bo_subject."</a>]</td>
<td width=''><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>{$value->wr_subject} {$commentcnt}$icon_new</a>
</td>
</tr>";
if( $k==1){
echo "<tr>
<td colspan=2 style='padding-left:10px;padding-right:5px;padding-bottom:3px;padding-top:3px;text-align:justify;'><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_content}</a>
</td>
</tr>";
}
echo" </table></td></tr>\n";
}
} else {echo "<td height=25 align=center>등록된 글이 없습니다.</td>"; }
?>
</table>
18번줄에 "hw"는그룹명입니다.
19번줄에19order by b.gr_id, a.bo_table limit 2 "; <-----요부분설명좀부탁합니다.
원하는건 위에 hw 그룹에있는모든최근게시물을 모두출력하고싶은데 현재는 그룹내에서도 일부만출력되는데 그룹내최근게시물을 모두출력할려면 어떻게하는지?
아시는분 답변좀부탁합니다.
만도님이설명해주시면 더욱좋겠지만 설명해주실분이 여러분계실것같아 부탁드립니다.
댓글 전체
> order by b.gr_id, a.bo_table
소팅은 먼저 gr_id로 하고 gr_id가 동일할경우 bo_table로 소팅해라
>limit 2
전체 조회된것중 2개만 리턴 해라
전체를 원하신다면 limit 2 이부분만 제거해보십시오
소팅은 먼저 gr_id로 하고 gr_id가 동일할경우 bo_table로 소팅해라
>limit 2
전체 조회된것중 2개만 리턴 해라
전체를 원하신다면 limit 2 이부분만 제거해보십시오
답변고맙습니다.
염치없는일이지만 한가지만더 질문할께요.
limit2 제거하니까
원하는그룹 (그룹한개 "hw") 에서만 출력이 잘되네요.
여기서 전체목록의 갯수를 지정해줄수있는방법은 어떻게하는지?
고맙습니다.
염치없는일이지만 한가지만더 질문할께요.
limit2 제거하니까
원하는그룹 (그룹한개 "hw") 에서만 출력이 잘되네요.
여기서 전체목록의 갯수를 지정해줄수있는방법은 어떻게하는지?
고맙습니다.