인용소스는 관리자님의 새글보기입니다..
lib/developer.lip.php에 추가합니다..
/////////////////////////////////////////////////////////////////////////
function groupe($skin_dir='', $gr_id, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
if ($hours < 1 || $hours > 24) {
$hours = 24;
}
$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 = '$gr_id'
order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$gr_subject=get_text(cut_str($row[gr_subject],20,'.'));
$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 = get_text(cut_str($row[bo_subject],8));
$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,$len,'…'));
$list[$key]->wr_content = get_text(cut_str($wr_content,160,'…'));
$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);
include "$latest_skin/latesgroupe.skin.php";
$latest_skin = $tmp_latest_skin;
}
//////////////////////////////////////////////////////////////////////////////////////////////
bbs/skin/latest/basig 폴더에 latesgroupe.skin.php를 만들어 넣습니다..
<table width=100% cellpadding=2 cellspacing=0 align=center valign=top>
<tr><td colspan=3 align=center height=22 style='border:1px solid #A3A6A9;' background='./<?=$cfg[bbs_dir]?>/imgs/b_titlebg.gif'>
<a href='./?doc=<?=$gr_id?>.php'><?=$gr_subject?></a></td></tr>//그룹이름 보이기
//그룹아이디와 일치하는 이름.php로 링크됨
<?
if (count($list) > 0) {
krsort($list);
$j=-1;
foreach ($list as $key=>$value) {
$k++;
$j++;
if($j+1>$rows) break;
$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);
//게시판제목 글자수 자르기
$icon_new = "";
if ($value->wr_datetime >= $intime) {
$icon_new = "<img src='./$cfg[bbs_dir]/imgs/icon_new.gif' border=0 align='absmiddle'>";
}
//새글 아이콘보이기
?>
<tr class=list<?=($j%2)?> height=22>
<td>
<table width=98% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width=17% nowrap><?=$icon_news?> [<a href='./?doc=<?=$cfg[bbs_dir]?>/gnuboard.php&bo_table=<?="$value->bo_table"?>'><?="$value->bo_subject"?></a>]</td>
<td width='' style='padding-left:3px'><a href='./?doc=<?=$cfg[bbs_dir]?>/gnuboard.php&bo_table=<?="$value->bo_table"?>&wr_id=<?="$value->wr_parent_id"?><?=$atag_comment?>' title='<?=$value->wr_content?>'><?=$value->wr_subject?> <?=$commentcnt?><?=$icon_new?></a>
</td>
</tr>
<? if( $k==1){?>// 첫째글(가장최신)이라면 내용이 보여져라..
<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?>' title='<?=$value->wr_content?>'><?=$value->wr_content?></a>
</td>
</tr>
<? } ?>
</table></td></tr>
<?
}
}
else echo "<tr><td colspan=3 align=center height=50>자료가 없습니다.</td></tr>";
?>
</table>
/////////////////////////////////////////////////////////////////////////////////////////
보여질 곳에
<? groupe('','',보여줄글수,제목글자수)?>
lib/developer.lip.php에 추가합니다..
/////////////////////////////////////////////////////////////////////////
function groupe($skin_dir='', $gr_id, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
if ($hours < 1 || $hours > 24) {
$hours = 24;
}
$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 = '$gr_id'
order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$gr_subject=get_text(cut_str($row[gr_subject],20,'.'));
$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 = get_text(cut_str($row[bo_subject],8));
$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,$len,'…'));
$list[$key]->wr_content = get_text(cut_str($wr_content,160,'…'));
$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);
include "$latest_skin/latesgroupe.skin.php";
$latest_skin = $tmp_latest_skin;
}
//////////////////////////////////////////////////////////////////////////////////////////////
bbs/skin/latest/basig 폴더에 latesgroupe.skin.php를 만들어 넣습니다..
<table width=100% cellpadding=2 cellspacing=0 align=center valign=top>
<tr><td colspan=3 align=center height=22 style='border:1px solid #A3A6A9;' background='./<?=$cfg[bbs_dir]?>/imgs/b_titlebg.gif'>
<a href='./?doc=<?=$gr_id?>.php'><?=$gr_subject?></a></td></tr>//그룹이름 보이기
//그룹아이디와 일치하는 이름.php로 링크됨
<?
if (count($list) > 0) {
krsort($list);
$j=-1;
foreach ($list as $key=>$value) {
$k++;
$j++;
if($j+1>$rows) break;
$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);
//게시판제목 글자수 자르기
$icon_new = "";
if ($value->wr_datetime >= $intime) {
$icon_new = "<img src='./$cfg[bbs_dir]/imgs/icon_new.gif' border=0 align='absmiddle'>";
}
//새글 아이콘보이기
?>
<tr class=list<?=($j%2)?> height=22>
<td>
<table width=98% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width=17% nowrap><?=$icon_news?> [<a href='./?doc=<?=$cfg[bbs_dir]?>/gnuboard.php&bo_table=<?="$value->bo_table"?>'><?="$value->bo_subject"?></a>]</td>
<td width='' style='padding-left:3px'><a href='./?doc=<?=$cfg[bbs_dir]?>/gnuboard.php&bo_table=<?="$value->bo_table"?>&wr_id=<?="$value->wr_parent_id"?><?=$atag_comment?>' title='<?=$value->wr_content?>'><?=$value->wr_subject?> <?=$commentcnt?><?=$icon_new?></a>
</td>
</tr>
<? if( $k==1){?>// 첫째글(가장최신)이라면 내용이 보여져라..
<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?>' title='<?=$value->wr_content?>'><?=$value->wr_content?></a>
</td>
</tr>
<? } ?>
</table></td></tr>
<?
}
}
else echo "<tr><td colspan=3 align=center height=50>자료가 없습니다.</td></tr>";
?>
</table>
/////////////////////////////////////////////////////////////////////////////////////////
보여질 곳에
<? groupe('','',보여줄글수,제목글자수)?>
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 14개
다음 링크를 참조하세요.
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&wr_id=4041
from $tbl
-- where wr_datetime
where wr_comment = 0
order by wr_id desc ";
한가지 질문 드릴게요. 그룹으로 최신글 뽑아오는건 문제없이 잘 되는데
문제는 코멘트글까지 최신글로 인식해서 뽑아온다는거예요. 이거 어떻게 해결할 수 없나요?
메일 드렸는데 답변이 없으셔서... ^^;
http://www.dicanet.com <== 요기서 확인해보시고 답 주세요. 고맙습니다.
전에 그룹 리스트 뽑는 메뉴만 작성하다 말았는데 같이 만도님꺼랑 합치면 굳이겠네요
잘 쓸께요 (만도님은 디자인도 굳 몬하는게 없네염 ^^)
감사히 잘 사용하겠습니다.
까만양님의 말씀은 무슨 말이니지 이해가잘 안됩니다......감사합니다...
소스가 간단해서 마음에 듭니다.
건의사항은 시간에 상관없이 최신글 몇개 뽑을 수 있게 조금만 수정한 버전도 만들어주세요.
좋은팁입니다. 수고하십시요..
카자님 ,고아이다님 감사합니다...
아바타가 야시시~~@.@;;
한가지 윗분처럼 코멘트를 새글로 인식하지 않게 할려면 어떻게 해야 하나요?
이것저것 만져 보았는데.. 한계가 있어요.... 고수님들 부탁합니다.