최신 코멘트뽑기 -해피아이님 소스 > 그누3질답

그누3질답

최신 코멘트뽑기 -해피아이님 소스 정보

그누보드 최신 코멘트뽑기 -해피아이님 소스

본문

일단 소스먼저 올립니다-----

<?
// 보기를 원하는 곳에서..인클루드 시킴...
// 예) include "./all_article.php";

$grid = "common"; // 보기를 원하는 그룹,, 공백이면 전체 그룹
$rows = 10; // 보여질 최근 게시물의 갯수
$len  = 75; // 내용을 몇자까지 나타낼것인가...잘라서 보여줌...
?>

<table width=100% cellpadding=1 cellspacing=0 border=1>
<tr><td colspan=3>

<table width=100% cellpadding=0 cellspacing=0 border=0><tr>
<td class='subjectbg ht' colspan=3 onmouseover="this.style.backgroundColor='CCCCFF'" onmouseout="this.style.backgroundColor=''" style='padding:0 0 0 0; border-width:0 0 1 0;border-color:F0F0F0; border-style:solid;' width=50%>
<span class=subject><b>&nbsp;가장 최근에 쓴글과 코멘트</span></b>
</td>
<td onclick=location.href='<?="./$cfg[index]?doc=all_article.php"?>' class='subjectbg ht' colspan=3 onmouseover="this.style.backgroundColor='CCCCFF'" onmouseout="this.style.backgroundColor=''" style='padding:0 0 0 0; border-width:0 0 1 0;border-color:F0F0F0; border-style:solid;' width=25% style=cursor:hand; align=center>최근글</td>
<td onclick=location.href='<?="./$cfg[index]?doc=all_comment.php"?>' class='subjectbg ht' colspan=3 onmouseover="this.style.backgroundColor='CCCCFF'" onmouseout="this.style.backgroundColor=''" style='padding:0 0 0 0; border-width:0 0 1 0;border-color:F0F0F0; border-style:solid;' width=25% style=cursor:hand; align=center>최근코멘트</td>
</tr></table>


</td></tr>
<tr><td colspan=3 height=10 style="border-style:none;"></td></tr>

<?
if($grid) { // 그룹별로 하는 검색이면...그 그룹에서만...
$sql_1 = " select * from $cfg[table_board] where bo_use_search = '1' and gr_id = '$grid' order by bo_order_search ";
}
else { // 그렇지 않으면 전체 그룹에서 검색~~
$sql_1 = " select * from $cfg[table_board] where bo_use_search = '1' order by bo_order_search ";
}

$result = sql_query($sql_1);

$i = 0;
$k = 0;

while ($row = mysql_fetch_array($result)) {
$bo_scount += $row["bo_total_count"];
$i++;
// 해당 게시판의 최근글 $rows 개...
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";

// 테이블중에서.. 가장 최근글 $rows 개를 불러온다...코멘트 제외 원글만..
$sql2 = " select wr_id, wr_comment, wr_datetime from $tbl order by wr_datetime desc limit 0, $rows";
// 만일 코멘트만 나타내려면 where wr_comment <> '0' 로 바꾸어 준다..
// 코멘트와 원글을 나타내려면 whrer wr_comment = '0' 부분을 삭제한다...

$result2 = sql_query($sql2); // 쿼리 실행
$j = 0;
for($j=0; $brow = mysql_fetch_array($result2); $j++) {
$wr_year = substr($brow["wr_datetime"],0,4); // 년도
$wr_month = substr($brow["wr_datetime"],5,2); // 월
$wr_day = substr($brow["wr_datetime"],8,2); // 일
$wr_hour = substr($brow["wr_datetime"],11,2); // 시
$wr_min = substr($brow["wr_datetime"],14,2); // 분
$wr_sec = substr($brow["wr_datetime"],17,2); // 초

$s_str = ""; // 초기화...
// 날짜는 유닉스 시간으로 변환한다..이유? 소트를 위해서..
$s_str = mktime($wr_hour,$wr_min,$wr_sec,$wr_month,$wr_day,$wr_year).'|'.$brow[wr_id].'|'.$row[bo_table].'|'.$row[gr_id];
$tmp_array[$k] = $s_str; // 이제 배열에 저장하고...
$k++;
} // end for()
} // end while()

array_multisort($tmp_array,SORT_DESC,SORT_STRING); // 배열에 저장된 자료를 소트한다..

for($l=0; $l<$rows; $l++) { // 소트된 자료를 나타낼 자료수 만큼만...
$s_str = "";
$s_str = explode("|", $tmp_array[$l]);
$w_date = strftime ("%Y-%m-%d",$s_str[0]); // 시간을 원래대로 환원, 년월일만...

// 해당 게시판의 최근글 $rows 개...
$b_name = "{$cfg[write_table_prefix]}{$s_str[2]}";
// 가장 최근글 순서대로 테이블마다 접속해서 글을 불러온다...
$sql3 = " select wr_id, wr_name, wr_content, wr_comment, wr_num from $b_name where wr_id = $s_str[1]";
$result3 = sql_query($sql3); // 쿼리 실행
$drow = mysql_fetch_array($result3);

// 내용을 원하는 크기로 자른다..
$drow["wr_content"] = cut_str($drow["wr_content"],$len);
if($drow["wr_comment"] != "0") {
// 코멘트 글이면...원글을 찾아야 한다..
// 코멘트글은 직접 이동할 수가 없다.. 그누보드 특성상...
$sql_comment = " select wr_id from $b_name where wr_num = $drow[wr_num] and wr_comment = '0' and wr_num = $drow[wr_num]";
// wr_num 이 같고 원글이면서.. wr_parent_id 가 같은 글을 찾음..
$result4 = sql_query($sql_comment); // 쿼리 실행
$crow = mysql_fetch_array($result4);
$comment = '[C]'; // 코멘트 임을 표시하기 위하여...
$drow["wr_id"] = $crow["wr_id"]; // wr_id 값 변경...
}
else { // 원글이다...
$comment = '';
}

?>
<tr height=22 onmouseover="this.style.backgroundColor='FFF8ED'" onmouseout="this.style.backgroundColor=''" style='padding:0 0 0 0;border-width:0 0 1 0; border-color:F0F0F0; border-style:solid;' style=cursor:hand; onclick=location.href='<?="./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$s_str[2]&wr_id=$drow[wr_id]"?>'>
<td width=100 align=center style='border-style:none;' class='b'><?=$drow[wr_name]?></td><td style="border-style:none;"><?=$drow[wr_content]?><font color=#C7E1E7><?=$comment?></font></td><td width=70 style='border-style:none;'><?=$w_date?></td></tr>

<?
} // end for()

echo "<tr><td colspan=3 height=5 style='border-style:none;'></td></tr>";

mysql_free_result($result); // sql 해제...

// 총 글의 갯수를 구하는 부분임...
if ($bo_scount) {
  echo "<tr><td colspan=3 align=right height=30 style='background-color:#fcf5f5'>[총 <b>$i</b> 개의 게시판 <b>$bo_scount</b> 개의 원글(코멘트 미포함)]</td></tr>";
} else {
  echo "<tr><td height=100 align=center colspan=3>등록된 글이 없습니다.</td></tr>";
}
?>

</table>

이렇게 해피아이님이 2003년12월에 올린 소스입니다..그런데 제홈에 적용하려 하니..오류가 나네요...참 위는 all_latest.php입니다
일단 방문해보세요^^
http://www.링크삭제/hanin/?doc=test.php
아무래도 버전이 틀려 그런것 같은데....저로선..... 좀도와주세요^^

67번소스는 array_multisort($tmp_array,SORT_DESC,SORT_STRING); // 배열에 저장된 자료를 소트한다..입니다

서버정보 http://링크삭제되엇습니다.com/info.php

댓글 전체

ㅎㅎ 정말 제가 우수워보이네요^^ 자세히 읽어보지도 않고....예진맘님이 정답이네요^^
$grid="common" 이것은 제 그룹명이 아니였네요^^
요즘 영양제(비타민을)먹었더만 머리가 멍하니 부작용이 생기네요(__)  일딴 끈었는데...제대로 머리가 돌아갈련지...
쯥!


해결되었네요.. 그래서 위의 제홈피 링크는 삭제하겠습니다........
맨위에
$grid = "common"; // 보기를 원하는 그룹,, 공백이면 전체 그룹
에서 common은 그룹명인데
님 홈에도 이그룹이 있으신가요?
전체 9,564
그누3질답 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT