전체 게시판에서 공지사항만 뽑아오기 [최종수정 2003. 10. 22 17:05:30] 정보
그누호환 전체 게시판에서 공지사항만 뽑아오기 [최종수정 2003. 10. 22 17:05:30]
첨부파일
본문
제가 만든건 아닙니다.
제가 필요해서 약간 수정만 했을 뿐입니다.
혹시 필요로 하시는 분들이 있을까봐 올립니다.
1. 파일설명
- 파일#1 : 전체 게시판에서 공지사항 뽑을때 작성일이 나옵니다.
- 파일#2 : 전체 게시판에서 공지사항 뽑을때 hit수가 나옵니다.
2. 도움을 주신분
- 관리자님 : 소스를 제공해 주셨습니다. 새글보기 소스입니다.
- root님 : 공지사항만 뽑아내는 방법과 정렬문제를 해결해 주셨습니다.
- 두분께 감사합니다.
3. 링크설명
- 다운1 예제 : 링크#1
- 다운2 예제 : 링크#2
4. 아래는 링크#1 예제소스인 다운#1의 내용입니다.
========================== 전체 게시판에서 공지사항만 뽑아오기(다운#1) 시작 ==========================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$html_title = "공지사항 모음";
?>
<table width=95% cellpadding=3 cellspacing=0 align=center>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr><td class='subject subjectbg ht'> <?=$html_title?></td></tr>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
<table width=95% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width='' valign=top>
<?
$sql = " select bo_subject, bo_table
from $cfg[table_board]
where bo_use_search = '1'
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,
wr_hit
from $tbl
where wr_comment = '0' #코멘트가 아닌것을 찾는다.
and wr_notice = '-1' #공지사항인것을 찾는다.
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];
} else {
$wr_subject = $row2[wr_subject];
}
$wr_subject = get_text($wr_subject);
*/
$wr_subject = get_text($row2[wr_subject]);
if(!$ssort) {
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
} else if($ssort == "bo_table") {
$key = $row[bo_table] . $row2[wr_datetime];
} else if($ssort == "bo_subject") {
$key = $row2[wr_subject] . $row2[wr_datetime];
} else if($ssort == "wr_name") {
$key = $row2[wr_name] . $row2[wr_datetime];
} else if($ssort == "wr_datetime") {
$key = $row2[wr_datetime] . $row2[wr_datetime];
}
$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,70,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
$list[$key]->wr_hit = $row2[wr_hit];
}
mysql_free_result($result2);
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr class='subject subjectbg ht' align="center">
<td><?=subject_sort_link('bo_table', $qstr2)?>게시판</td>
<td><?=subject_sort_link('bo_subject', $qstr2)?>제목</td>
<td><?=subject_sort_link('wr_name', $qstr2)?>작성자</td>
<td><?=subject_sort_link('wr_datetime', $qstr2)?>작성일</td>
</tr>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<?
if (count($list) > 0) {
$i=0;
if($sorder == "desc" ) {
ksort($list);
} else {
krsort($list);
}
reset ($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);
$list = $i++%2;
echo "<tr class='list$list ht' align=center>";
echo "<td width=100><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>".$value->bo_subject."</a></td>";
echo "<td align=left> <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> {$commentcnt}</td>";
echo "<td width=70> $name </td>";
echo "<td width=70 align=center>[".substr($value->wr_datetime,2,8)."]</td>";
//echo "<td width=60>{$value->wr_hit}</td>";
echo "</tr>\n";
//echo "<tr><td colspan=4 background='{$gnu_path}image/line_width.gif'></td></tr>\n";
}
} else
echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
</td>
</tr>
</table>
========================== 전체 게시판에서 공지사항만 뽑아오기(다운#1) 끝 ==========================
[최종수정 2003. 10. 22 17:05:30]
- hit수 보다는 공지사항 작성일을 나오게 하는게 나을것 같아 수정한 버전을 올립니다.
파일#1,#2의 차이점은 hit수와 작성일의 차이이므로 10월 31일 이후에 링크#2는 삭제할 예정이오니 이용에 착오 없으시기 바랍니다.
제가 필요해서 약간 수정만 했을 뿐입니다.
혹시 필요로 하시는 분들이 있을까봐 올립니다.
1. 파일설명
- 파일#1 : 전체 게시판에서 공지사항 뽑을때 작성일이 나옵니다.
- 파일#2 : 전체 게시판에서 공지사항 뽑을때 hit수가 나옵니다.
2. 도움을 주신분
- 관리자님 : 소스를 제공해 주셨습니다. 새글보기 소스입니다.
- root님 : 공지사항만 뽑아내는 방법과 정렬문제를 해결해 주셨습니다.
- 두분께 감사합니다.
3. 링크설명
- 다운1 예제 : 링크#1
- 다운2 예제 : 링크#2
4. 아래는 링크#1 예제소스인 다운#1의 내용입니다.
========================== 전체 게시판에서 공지사항만 뽑아오기(다운#1) 시작 ==========================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$html_title = "공지사항 모음";
?>
<table width=95% cellpadding=3 cellspacing=0 align=center>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr><td class='subject subjectbg ht'> <?=$html_title?></td></tr>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
<table width=95% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width='' valign=top>
<?
$sql = " select bo_subject, bo_table
from $cfg[table_board]
where bo_use_search = '1'
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,
wr_hit
from $tbl
where wr_comment = '0' #코멘트가 아닌것을 찾는다.
and wr_notice = '-1' #공지사항인것을 찾는다.
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];
} else {
$wr_subject = $row2[wr_subject];
}
$wr_subject = get_text($wr_subject);
*/
$wr_subject = get_text($row2[wr_subject]);
if(!$ssort) {
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
} else if($ssort == "bo_table") {
$key = $row[bo_table] . $row2[wr_datetime];
} else if($ssort == "bo_subject") {
$key = $row2[wr_subject] . $row2[wr_datetime];
} else if($ssort == "wr_name") {
$key = $row2[wr_name] . $row2[wr_datetime];
} else if($ssort == "wr_datetime") {
$key = $row2[wr_datetime] . $row2[wr_datetime];
}
$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,70,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
$list[$key]->wr_hit = $row2[wr_hit];
}
mysql_free_result($result2);
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr class='subject subjectbg ht' align="center">
<td><?=subject_sort_link('bo_table', $qstr2)?>게시판</td>
<td><?=subject_sort_link('bo_subject', $qstr2)?>제목</td>
<td><?=subject_sort_link('wr_name', $qstr2)?>작성자</td>
<td><?=subject_sort_link('wr_datetime', $qstr2)?>작성일</td>
</tr>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<?
if (count($list) > 0) {
$i=0;
if($sorder == "desc" ) {
ksort($list);
} else {
krsort($list);
}
reset ($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);
$list = $i++%2;
echo "<tr class='list$list ht' align=center>";
echo "<td width=100><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>".$value->bo_subject."</a></td>";
echo "<td align=left> <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> {$commentcnt}</td>";
echo "<td width=70> $name </td>";
echo "<td width=70 align=center>[".substr($value->wr_datetime,2,8)."]</td>";
//echo "<td width=60>{$value->wr_hit}</td>";
echo "</tr>\n";
//echo "<tr><td colspan=4 background='{$gnu_path}image/line_width.gif'></td></tr>\n";
}
} else
echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
</td>
</tr>
</table>
========================== 전체 게시판에서 공지사항만 뽑아오기(다운#1) 끝 ==========================
[최종수정 2003. 10. 22 17:05:30]
- hit수 보다는 공지사항 작성일을 나오게 하는게 나을것 같아 수정한 버전을 올립니다.
파일#1,#2의 차이점은 hit수와 작성일의 차이이므로 10월 31일 이후에 링크#2는 삭제할 예정이오니 이용에 착오 없으시기 바랍니다.
추천
1
1
댓글 전체
공지사항을 30개만 뽑고 싶으시다면 foreach 아래에 if 문을 하나 추가하세요.
foreach ($list as $key=>$value) {
if($i >= 30) break; // 만약 $i의 값이 30보다 커거나 같다면 foreach문을 빠져나가라..
foreach ($list as $key=>$value) {
if($i >= 30) break; // 만약 $i의 값이 30보다 커거나 같다면 foreach문을 빠져나가라..
까만도둑님 코멘트가 기대됩니다. ㅋㅋㅋㅋ
z님 아닙니다.....
여기서 나서지 않을뿐 내공이 강한분이 꽤 있는걸로 압니다..........^^
그뇬보드라?~~~~~~ 기대됩니다.........
여기서 나서지 않을뿐 내공이 강한분이 꽤 있는걸로 압니다..........^^
그뇬보드라?~~~~~~ 기대됩니다.........
까만도둑님이 해야될 일을 제가 하고 있네요. ㅜ_ㅜ (코멘트달기 = 도둑님 본직 ㅋㅋㅋ)
bb킹님 아닙니다. bb킹님보다 디자인 잘 ~ 아는 그누회원을 드믈겁니다.
bb킹님 아닙니다. bb킹님보다 디자인 잘 ~ 아는 그누회원을 드믈겁니다.
앞서가는 모습과 열정이 부럽습니다...........
php에 대한 언급은 전혀 못하고 있는 bbking.....................T.T
php에 대한 언급은 전혀 못하고 있는 bbking.....................T.T
좋은 자료군요!!!
root님 너무 고맙습니다.
제가 여기 글 한번 올려보는거 였는데 덕분에 소원 풀었습니다.
이제 지수아빠님께서 여기에 올리시면 그누 골수팬들은 거의 하나 이상씩은 올리는것 같습니다.
지수아빠님의 팁엔테크를 기대해 봅니다.
무엇보다 저번에 만드신다고 하신 그뇬보드가 올라왔으면 하는게 제 개인적인 바램입니다.
감사합니다.
제가 여기 글 한번 올려보는거 였는데 덕분에 소원 풀었습니다.
이제 지수아빠님께서 여기에 올리시면 그누 골수팬들은 거의 하나 이상씩은 올리는것 같습니다.
지수아빠님의 팁엔테크를 기대해 봅니다.
무엇보다 저번에 만드신다고 하신 그뇬보드가 올라왔으면 하는게 제 개인적인 바램입니다.
감사합니다.
저.. 껴들어서 지송한데요.. ^^
공지사항이 많으면.... 페이지가 쭈욱 아래까지 가는데욤..
한 30개까지만 뽑을려면 어떻게 하는지요.. ? 알려주세욤~
공지사항이 많으면.... 페이지가 쭈욱 아래까지 가는데욤..
한 30개까지만 뽑을려면 어떻게 하는지요.. ? 알려주세욤~