죄송한 질문 다시합니다. > 그누4 질문답변

그누4 질문답변

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

죄송한 질문 다시합니다. 정보

죄송한 질문 다시합니다.

본문

특정필드를 사용한 게시물을 추출하고자 합니다.
(게시판의 게시물 중에서 여분필드wr_3 을 사용한 것을 wr_3 순서로 뽑고자 합니다.)
게시판설정의 여불필드가 아니라
 
-------------------
1. 글작성 및 수정 : write.skin.php
    <input name=wr_1 itemname="wr_1" value="<?=$write[wr_1]?>">
    <input name=wr_2 itemname="wr_2" value="<?=$write[wr_2]?>">
   
2. 글보기 : view.skin.php
    <?=$view[wr_1]?>
    <?=$view[wr_2]?>
   
3. 글목록/리스트 : list.skin.php
    <?=$list[$i][wr_1]?>
    <?=$list[$i][wr_2]?>
-------------------------------
에 사용하는 여분필드입니다.
 
 
 
 
아무것도 모르면서도 무대보로 덤비려니 죄송하기도 하고...ㅡ,.ㅡ
 
아래는 gnu4/lib/latest.lib.php 화일입니다.
 
이중에서 특정필드(wr_3) 를 사용한 게시물을 뽑기 위해서는 어떻게 쎃넣어야 되는가요?
 
 
 
 
<?
if (!defined('_GNUBOARD_')) exit;
// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
    global $g4;
    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/basic";
    $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 ";
    //explain($sql);
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
   
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
}
?>

댓글 전체

wr_3 필드에 값이 들어간 것만 뽑으려면 유아원님이 말씀하신 부분

wr_3 = 'zzz' 를

wr_3 >= '0' 하시면 됩니다.

위의 latest.lib.php를 extend 폴더에 다른 화일 명으로 저장하시면서

function latest($skin_dir="" ~~~~~  부분을 원하시는 함수로 바꾸시고

예) function latest_3($skin_dir=""~~~~~

사용법은 <?=latest_3("스킨명", 테이블명, 글수, 제목길이)?>

하시면 wr_3필드에 값이 존재하는 게시물을 뽑아 줍니다.
아래 질문하신 그룹부분도 손보시면 될듯 한데요....^^

<?
if (!defined('_GNUBOARD_')) exit;
/// 함수 정의 시작
// 원본은  http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=1843
// 최신글 추출 - 선택한 그룹별로 원하는 수만큼 보여줌
function latest_group_top($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' and wr_3 >='0' order by bo_order_search ";
$rsgroup = sql_query($sqlgroup);

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_3 >= '0' "; //네잎클로버가 추가함
$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_datetime];
else  {
$op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
$op_list[$k] .= $row[wr_datetime];
}

$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;
}
/// 함수 정의 끝
?>
고수님들께서 애써주시는데, 그에 맞는 결과를 보여드리지 못해서 죄송합니다.
결과는  아래와 같습니다.

-----------------------------------------

1065 : Query was empty

-----------------------------------------

참고로 저는 cunic님의 그룹별최신글로 불러옵니다.
소스는 아래링크입니다.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=9295&sca=&sfl=mb_id%2C1&stx=cunic&sop=and

내용은 아래입니다.

------------------------------------------
<?

for ($k=0; $k<count($list); $k++)
{
    if ($k > 0)
    $title =  cut_str(get_text($list[$k][wr_subject]),13);
    $content = cut_str(get_text($list[$k][wr_content]), 80);
    $img = "$g4[path]/data/file/{$list[$k][bo_table]}/".urlencode($list[$k][file][1][file]);
    if (!file_exists($img) || !$list[$k][file][1][file])
    $img = "$latest_skin_path/img/no_image.gif";
    $href = "$g4[bbs_path]/board.php?bo_table=$bo_table";
$thumbx=150;
$thumby=75;
$thumbyy = $thumby+6;
    $destfile =$img.'Thumb';

$size = @getimagesize($img);
if(is_array($size) && !is_file($destfile)) {
switch($size[2]) {
case(1) :
if(function_exists('ImageCreateFromGif')) $im = ImageCreateFromGif($img);
break;
case(2) :
if(function_exists('ImageCreateFromJpeg')) $im = ImageCreateFromJpeg($img);
break;
case(3) :
if(function_exists('ImageCreateFromPng')) $im = ImageCreateFromPng($img);
break;
}
$fixsize = mando_image_size($size[0], $size[1], $thumbx, $thumby);
if($im) {
if($k==0) @exec("rm ".dirname($_SERVER[SCRIPT_FILENAME])."/data/file/$bo_table/*Thumb-rf");
if(function_exists('ImageCreateTrueColor')) $newim = ImageCreateTrueColor($fixsize[x],$fixsize[y]);
else $newim = ImageCreate($fixsize[x],$fixsize[y]);
if(function_exists('ImageCopyResampled')) ImageCopyResampled($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
else ImageCopyResized($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
ImageDestroy($im);
ImageJpeg($newim, $destfile, 100);
ImageDestroy($newim);
unset($im, $newim);
}
$list[$k][img][x] = $fixsize[x];
$list[$k][img][y] = $fixsize[y];
} else {
if(is_file($destfile)) {
$size = @getimagesize($destfile);
$list[$k][img][x] = $size[0];
$list[$k][img][y] = $size[1];
} else {
$img = "";
$size = @getimagesize($img);
$list[$k][img][x] = $thumbx;
$list[$k][img][y] = $thumby;
}
}
if(is_file($destfile))$img = $destfile;

    echo <<<HEREDOC
<tr>
    <td align="center" width="100%">
<table width=100% cellpadding="0" cellspacing="0" border="0" style="padding:0px;">
<tr align=center>
<td width=100% align="center"  style='padding-top:0px;'>
    <div align=center><table width='{$thumbx}+6' align="center"  bgcolor='#ffffff' cellpadding="3" cellspacing="0" border="0">
<tr><td align="center" valign="middle" style='border:1px solid #cccccc'><a href="{$list[$k][href]}"><img src=" {$destfile}" width="{$list[$k][img][x]}" height="{$list[$k][img][y]}" border="0" alt="$content"></a></td>
</tr>
</table></div>
</td>
</tr>
<tr><td height=5></td></tr>
<!---
<tr>
<td height=17 align="center" valign="middle" style='padding-top:5px;padding-bottom:5px;border:0px solid #777777'><a href="{$list[$k][href]}" style='font-family:&micro;¸¿&ograve;;font-size:11px;color:#336666'>{$list[$k][wr_subject]}</a></td>
</tr>
-->
</table>
</td>
</tr>
HEREDOC;

}
?>
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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