최신글 최근날짜순으로 뽑기 정보
그누호환 최신글 최근날짜순으로 뽑기첨부파일
본문
2가지 방법이 있습니다.
하나는 lib 디렉토리에 파일을 올리는거고 다른 하나는 lib/developer.lib.php 파일에 소스를 삽입하는 겁니다.
어느것이나 동일한 결과를 얻을 수 있으니 편하신대로 적용하시면 됩니다.
---------------------------------------------------------------------------------
1. 첫번째 방법
첨부파일을 lib 디렉토리에 올립니다.
2. 두번째 방법
첨부파일의 내용을 lib/developer.lib.php 파일내용중
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);
// 개발자(사용자) 라이브러리
?>
"// 개발자(사용자) 라이브러리" 아래에 다음 소스를 삽입합니다.
============= 소스시작 ===============
// 최신글 날짜순추출
function date_sort($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./bbs/skin/latest/$skin_dir";
}
$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];
$sql = " select *
from {$cfg[write_table_prefix]}{$bo_table}
where wr_comment = 0
order by wr_datetime asc limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;
$list[$i][href] = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
$list[$i][content] = get_text($row[wr_content]);
$list[$i][date] = substr($row[wr_datetime],2,8);
$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
}
for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}
for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=bbs/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
========= 소스 끝 =============
그리고 방법1,2 모두 아래와 같이 적용하고자 하는 곳에 불러옵니다.
============================================
<?=date_sort('basic', test, 5, 35);?>
===========================================
<?=date_sort('최신글 스킨명', 게시판테이블명, 불러올 갯수, 글자길이);?>
만약 오래된 날짜순으로 뽑고자 한다면,
29라인 아래소스를 다음과 같이 바꾸면 됩니다.
order by wr_datetime desc limit 0, $rows ";
=>
order by wr_datetime asc limit 0, $rows ";
p.s : 더 좋은 방법이 있으면 가르쳐 주시기 바랍니다.
하나는 lib 디렉토리에 파일을 올리는거고 다른 하나는 lib/developer.lib.php 파일에 소스를 삽입하는 겁니다.
어느것이나 동일한 결과를 얻을 수 있으니 편하신대로 적용하시면 됩니다.
---------------------------------------------------------------------------------
1. 첫번째 방법
첨부파일을 lib 디렉토리에 올립니다.
2. 두번째 방법
첨부파일의 내용을 lib/developer.lib.php 파일내용중
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);
// 개발자(사용자) 라이브러리
?>
"// 개발자(사용자) 라이브러리" 아래에 다음 소스를 삽입합니다.
============= 소스시작 ===============
// 최신글 날짜순추출
function date_sort($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./bbs/skin/latest/$skin_dir";
}
$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];
$sql = " select *
from {$cfg[write_table_prefix]}{$bo_table}
where wr_comment = 0
order by wr_datetime asc limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;
$list[$i][href] = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
$list[$i][content] = get_text($row[wr_content]);
$list[$i][date] = substr($row[wr_datetime],2,8);
$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
}
for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}
for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=bbs/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
========= 소스 끝 =============
그리고 방법1,2 모두 아래와 같이 적용하고자 하는 곳에 불러옵니다.
============================================
<?=date_sort('basic', test, 5, 35);?>
===========================================
<?=date_sort('최신글 스킨명', 게시판테이블명, 불러올 갯수, 글자길이);?>
만약 오래된 날짜순으로 뽑고자 한다면,
29라인 아래소스를 다음과 같이 바꾸면 됩니다.
order by wr_datetime desc limit 0, $rows ";
=>
order by wr_datetime asc limit 0, $rows ";
p.s : 더 좋은 방법이 있으면 가르쳐 주시기 바랍니다.
추천
0
0
댓글 전체
새글과 같은...느낌의...^^
어떻게 이렇게 생각을 하게되는거예여..
아...제머리는 그냥 폼으로 달고만 다닌다는...전설이...
어떻게 이렇게 생각을 하게되는거예여..
아...제머리는 그냥 폼으로 달고만 다닌다는...전설이...
좋은 팁이군요....감사....^^
까만도둑님께서도 한창 탄력 받으신 듯 합니다.
유용한 내용 많이 기대해 봅니다^^;
유용한 내용 많이 기대해 봅니다^^;