죄송한 질문 다시합니다. 정보
죄송한 질문 다시합니다.본문
특정필드를 사용한 게시물을 추출하고자 합니다.
(게시판의 게시물 중에서 여분필드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]?>
<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;
if (!defined('_GNUBOARD_')) exit;
// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
global $g4;
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";
$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);
$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();
$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;
}
?>
}
?>
댓글 전체

$sql = " select * from $tmp_write_table where wr_is_comment = 0 and wr_3 = 'zzz' order by wr_id desc limit 0, $rows ";
zzz 인 것만 뽑죠.
방금 실험했답니다. ^ ^
zzz 인 것만 뽑죠.
방금 실험했답니다. ^ ^
저두 시험해보고 다시 질문할께요...
아래 네입클로버님의 말씀과처럼 유아원님의 소스에 wr_3 >= '0' 하니 아주 잘됩니다.
감사합니다.
감사합니다.
정열을 order by wr_3 desc 로 했는데 이것도 아주 잘됩니다.
여러게시판(그룹)인지 아니면 하나의 게시판인지요?....
아래 질문은 그룹이라 하셔서...?
아래 질문은 그룹이라 하셔서...?
저에게는 그룹이 힘들어서 게시판에서 한 후 모두 불러오기하려고 그럽니다.
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필드에 값이 존재하는 게시물을 뽑아 줍니다.
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;
}
/// 함수 정의 끝
?>
<?
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:µ¸¿ò;font-size:11px;color:#336666'>{$list[$k][wr_subject]}</a></td>
</tr>
-->
</table>
</td>
</tr>
HEREDOC;
}
?>
결과는 아래와 같습니다.
-----------------------------------------
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:µ¸¿ò;font-size:11px;color:#336666'>{$list[$k][wr_subject]}</a></td>
</tr>
-->
</table>
</td>
</tr>
HEREDOC;
}
?>