카테고리별 최신글에서 공지사항만 추출할수있을까요? 정보
그누보드 카테고리별 최신글에서 공지사항만 추출할수있을까요?본문
카테고리별 최신글에서 공지사항만 추출할수있을까요?
카테고리에맞게 공지만 출력할라구요
a라는 카테고리에 1,2,3,4 가있고
b라는 카테고리에 5,6,7,8 이라는 공지가 있다고 가정하에
b카테고리에 해당하는 5,6,7,8 공지만 최신글로 표시할라고 하는데
도움좀 주세요...
$stext 값으로 카테고리를 추출은 하겠는데 요기서 공지만 뽑아올라고 하니 잘안되네요
도와주세요~
카테고리에맞게 공지만 출력할라구요
a라는 카테고리에 1,2,3,4 가있고
b라는 카테고리에 5,6,7,8 이라는 공지가 있다고 가정하에
b카테고리에 해당하는 5,6,7,8 공지만 최신글로 표시할라고 하는데
도움좀 주세요...
$stext 값으로 카테고리를 추출은 하겠는데 요기서 공지만 뽑아올라고 하니 잘안되네요
도와주세요~
댓글 전체
// 카테고리별 공지만추출
function cat_notice($skin_dir='', $bo_table, $rows=10, $title_len=40, $content_len=50, $wherecaid)
{
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];
// category list
$ca_sql = " select * from {$cfg[write_table_prefix]}{$bo_table}_cat ";
if($wherecaid) $ca_sql .= " where ca_id in($wherecaid) ";
$ca_sql .= " order by ca_id ";
$ca_result = sql_query($ca_sql);
for ($ca_i=0; $ca_row = mysql_fetch_array($ca_result); $ca_i++) {
$sql = " select *
from {$cfg[write_table_prefix]}{$bo_table}
where wr_comment = 0 and ca_id = $ca_row[ca_id] and wr_notice = '-1'
order by rand() limit 0, $rows "; // 현상태는 랜덤... 랜덤이 싫으시면 order by wr_notice desc limit 0, $rows "; 로 교체
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$ca_i][$i] = $row;
$list[$ca_i][$i][href] = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$ca_i][$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$ca_i][$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$ca_i][$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$ca_i][$i][subject] = conv_subject($row[wr_subject], $title_len,"…");
$list[$ca_i][$i][content] = get_text(cut_str($row[wr_content], $content_len,"…"));
$list[$ca_i][$i][date] = substr($row[wr_datetime],2,8);
$table = "{$cfg[write_table_prefix]}{$bo_table}";
$is_category = false;
if ($bo[bo_use_category]) {
$is_category = true;
$category_option = get_category_option($table);
}
$list[$ca_i][$i][ca_name] = get_category_name($table, $row[ca_id]);
$list[$ca_i][$i][icon_new] = "";
----------------------------------------------------------------------------------------------------------------------------------------
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$ca_i][$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[$ca_i][$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[$ca_i][$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$ca_i][$i]["link_href".$k] = "./?doc=bbs/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
----------------------------------------------------------------------------------------------------------------------------------------
// 그림추출은 입맛에 맞게 고치시고요.
}
mysql_free_result($result);
}
mysql_free_result($ca_result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
게시판 추출시
<? cat_notice('스킨명', '테이블명', '뽑을갯수', '30', '50', $stext); ?>
이런식으로 뽑으시면 됩니다.
$stext 는 분류값을 가져오니깐 해당 분류가 되면 그분류에 맞는 공지만 톡톡 틔어나오겠죠...
$stext 는 숫자로 하셔도 상관없읍니다. 1 공지, 2,질문 이라고할때 1번만 추출하시려면
$stext 값 되신 '1' 이렇게하시면 끝~
function cat_notice($skin_dir='', $bo_table, $rows=10, $title_len=40, $content_len=50, $wherecaid)
{
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];
// category list
$ca_sql = " select * from {$cfg[write_table_prefix]}{$bo_table}_cat ";
if($wherecaid) $ca_sql .= " where ca_id in($wherecaid) ";
$ca_sql .= " order by ca_id ";
$ca_result = sql_query($ca_sql);
for ($ca_i=0; $ca_row = mysql_fetch_array($ca_result); $ca_i++) {
$sql = " select *
from {$cfg[write_table_prefix]}{$bo_table}
where wr_comment = 0 and ca_id = $ca_row[ca_id] and wr_notice = '-1'
order by rand() limit 0, $rows "; // 현상태는 랜덤... 랜덤이 싫으시면 order by wr_notice desc limit 0, $rows "; 로 교체
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$ca_i][$i] = $row;
$list[$ca_i][$i][href] = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$ca_i][$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$ca_i][$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$ca_i][$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$ca_i][$i][subject] = conv_subject($row[wr_subject], $title_len,"…");
$list[$ca_i][$i][content] = get_text(cut_str($row[wr_content], $content_len,"…"));
$list[$ca_i][$i][date] = substr($row[wr_datetime],2,8);
$table = "{$cfg[write_table_prefix]}{$bo_table}";
$is_category = false;
if ($bo[bo_use_category]) {
$is_category = true;
$category_option = get_category_option($table);
}
$list[$ca_i][$i][ca_name] = get_category_name($table, $row[ca_id]);
$list[$ca_i][$i][icon_new] = "";
----------------------------------------------------------------------------------------------------------------------------------------
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$ca_i][$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[$ca_i][$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[$ca_i][$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$ca_i][$i]["link_href".$k] = "./?doc=bbs/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
----------------------------------------------------------------------------------------------------------------------------------------
// 그림추출은 입맛에 맞게 고치시고요.
}
mysql_free_result($result);
}
mysql_free_result($ca_result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
게시판 추출시
<? cat_notice('스킨명', '테이블명', '뽑을갯수', '30', '50', $stext); ?>
이런식으로 뽑으시면 됩니다.
$stext 는 분류값을 가져오니깐 해당 분류가 되면 그분류에 맞는 공지만 톡톡 틔어나오겠죠...
$stext 는 숫자로 하셔도 상관없읍니다. 1 공지, 2,질문 이라고할때 1번만 추출하시려면
$stext 값 되신 '1' 이렇게하시면 끝~
해결 하셨음 소스를 공개 하시져 ㅡㅡ+ 씨익~
하하 자체해결했습니다.^^
7쟁인님 답변감사합니다.. 저두 지금 이소스로 적용한 상태이구요.. 제가원한건 요기서 공지사항만 추출하는거거든요... 아무리 응용해보와도 공지사항만 뽑는게 쉽지가 않네요.
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=&stext=&ssort=wr_name&sorder=asc&soperator=&page=10&wr_id=2729
루트님 소스 잘됩니다
지금은 적용 안하고 있지만 써본결과 좋습니다..
루트님 소스 잘됩니다
지금은 적용 안하고 있지만 써본결과 좋습니다..