소스 변형 질문드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

소스 변형 질문드립니다. 정보

소스 변형 질문드립니다.

본문

아래 소스는 1개의 게시판에서 wr_1에 값에 따라 최신글을 보여주는 소스입니다.
이 소스를 1개의 그룹에서 wr_1에 값이 있는 게시물만 최신글로 출력할려면 어떻게 수정해야 하는지요?
며칠째 이 문제로 이래저래 해봐도 도저히 해답을 못찾아서 질문드립니다.
회원님들의 귀한 답변 부탁드려봅니다.


-----------소스(lib.php)-----------------

<?
//--- yesmoa님의 디렉토리 스킨을 활용하기 위한 최신글
function wr1_latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $wr_1)
{
    global $config;
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";

    $list = array();

    $sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

    $tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 전체이름
    //--- $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_1 desc limit 0, $rows ";
    //explain($sql);
    $result = sql_query($sql);
    //--- $wr_1 = "1"; 필요없어 제외함(에러발생시 한번 살려보세요.)
    for ($i=0; $row = sql_fetch_array($result); $i++)
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len, $wr_1);
   
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

댓글 전체

$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_1 desc limit 0, $rows ";
==>
$sql = " select * from $tmp_write_table where wr_is_comment = 0 and wr_1!='' order by wr_1 desc limit 0, $rows ";
<?
if (!defined('_GNUBOARD_')) exit;
/// 함수 정의 시작
// 원본은  http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=1843
// 최신글 추출 - 선택한 그룹별로 원하는 수만큼 보여줌
function latest_group_wr_1($skin_dir="", $gr_id, $rows=10, $subject_len=40, $category="", $orderby="")
{
global $config;
global $g4;

$list = array();
$limitrows = $rows;

$sql = " select bo_table, bo_subject from $g4[board_table] where gr_id = '$gr_id' and bo_use_search = '1' order by bo_order_search ";
$rsgroup = sql_query($sql);

if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";

for ($j=0, $k=0; $rowgroup=sql_fetch_array($rsgroup); $j++) {
$bo_table = $rowgroup[bo_table];

// 테이블 이름구함
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);

$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 실제이름

// 옵션에 따라 정렬
$sql = "select * from $tmp_write_table where wr_is_comment = 0 ";
$sql .= "and wr_1 "; //네잎클로버가 추가함
$sql .= (!$category) ? "" : " and ca_name = '$category' ";
$sql .= (!$orderby) ? "  order by wr_id desc " : "  order by $orderby desc, wr_id desc ";
$sql .= " limit $limitrows";

$result = sql_query($sql);

for ($i=0; $row = sql_fetch_array($result); $i++, $k++) {

if(!$orderby) $op_list[$k] = $row[wr_1];
else  {
$op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
$op_list[$k] .= $row[wr_1];
}

$list[$k] = get_list($row, $board, $latest_skin_path, $subject_len);

$list[$k][bo_table] = $board[bo_table];
$list[$k][bo_subject] = $board[bo_subject];

$list[$k][bo_wr_subject] = cut_str($board[bo_subject] . $list[$k][wr_subject], $subject_len);
}
}
if($k>0) array_multisort($op_list, SORT_DESC, $list);
if($k>$rows) array_splice($list, $rows);

ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
/// 함수 정의 끝
?>

이 소스로 해결이 되었습니다.
필요하신 분들은 사용하시면 될듯합니다.
소스를 제공해주신 분께 감사드립니다.
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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