관리자가 글쓰기에서 체크한 것만 최신글로 불러오기

· 2006-07-20 (목) 03:39:03 · 8261 · 22
말그대로 관리자가 글쓰기에서 체크박스를 선택하여 글을 쓰면 최신글로 불러오는 것입니다..

lib폴더에
latest.lib.php 이것을 하나더 다름이름으로 만듭니다.
latest2.lib.php이런식으로 다른이름도 상관없구요 일단 이것을 최신글 들어가는 부분 보통 index.php 상단에
<? include_once("$g4[path]/lib/latest2.lib.php"); ?> 를 넣어 최신글 함수를 불러 옵니다.

일단 게시판 글쓰는 폼 스킨 write.skin.php 에서 아래와 같이 wr_1 ~wr_10 중에 쓰지 않는 필드로
사용 하여 체크할수 잇는 폼을 만듭니다. 저 같은 경우는 갤러리로 사용 햇기 때문에 추천상품 , 인기상품을 체크하여 쓰도록 하였습니다.


<tr>
<td width=120 style='padding-left:20px; height:30px;'><span class='w_text'>· 보기옵션</span></td>
<td>
<input type='checkbox' name='wr_7' value="y" <? if($write[wr_7] == "y") echo "checked"; ?>> 신상품  
<input type='checkbox' name='wr_8' value="y" <? if($write[wr_8] == "y") echo "checked"; ?>> 추천상품
</td></tr><? } ?>


그런후에 이제 latest2.lib.php의 함수를 아래와 같이 수정합니다.
저같은 경우는 wr_7,wr_8 두개를 사용하여 인기상품,추천상품 체크한것을 불러오도록 함
중간쯤 보시면 인기순,추천순 쿼리 가 잇을 것입니다.

<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest_gallery($skin_dir="", $bo_table, $rows=10, $subject_len=40, $brch="")
{
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);

if ($brch == "ingi")
$brch = "wr_7"; // 인기순으로 쿼리
elseif ($brch == "chu")
$brch ="wr_8"; // 추천순으로 쿼리
else // 넘어온값이 없거나 그이외 일때
$brch = "wr_id"; // 걍 최근순으로 쿼리
$sql = " select * from $tmp_write_table where $brch='y' order by wr_id desc limit 0, $rows ";




$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;
}
?>

자 이제 이함수를 index.php의 최신글에서 호출을 합니다.
호출을 하기위해서
<? include_once("$g4[path]/lib/latest2.lib.php"); ?>
을 반드시 index.php의 php코드부분에 넣으시기 바랍니다.
그리구 아래와 같이 최신글을 추출 함수를 호출합니다..
여기서 맨 마지막에 ingi 인자는 wr_7필드가 y로 저장된 글만 추출합니다.
chu 로 쓰시면 wr_8필드의 데이터 값이 y로 저장된 글만 호출 하게 됩니다.

테스트 해보니 이상 없이 잘 추출이 되더군요 .. 질문은 하지마세요 저도 잘 모르니
이것 저것 찾아서 조합하고 테스트 한것이니 ..ㅋㅋ



<?

// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.

// 사용방법
// latest(스킨, 게시판아이디, 출력라인, 글자수,추출하고자하는 변수값);
echo latest_gallery("black_gallery",gallery1,8, 70,ingi);
echo "<p>\n";
?>

첨부파일

latest2.lib.php (1.6 KB) 229회 2006-07-20 03:42
|

댓글 22개

고생하였습니다. ^^
2006-07-20 (목) 10:43:26
이런거 예전에 제가 팁란을 한참 뒤졌었는데 정말 감사합니다.^^
유용하게 잘 사용하겠습니다.
스크랩 했습니다..///언제가 쓸날을 기다리며.............감사드립니다
2006-07-22 (토) 00:24:24
잘 보고 배웁니다~
좋은 팁입니다. 감사히 사용하겠습니다.
좋은팁입니다
좋은팁이네요. 감사합니다
2006-11-23 (목) 15:00:47
정말 좋은팁였습니다. 감사해요~ ^^;
좋은 정보 감사합니다. ^^
적용이 안되네요 ㅜㅜ
혹시해서 다시 수정모드를 보았더니 체킹 안한 상태로 나오네요.
전 4989 스킨에서 적용해보려하는데,
다들 잘 되시나요 ?

도움 주실분~~~~~
2007-03-01 (목) 12:22:01
고맙습니다~

2007-05-20 (일) 17:22:59
아주 좋아요
감사합니다. ^^
dd
2008-10-09 (목) 15:43:24
아주 좋습니다.. 그런데 한개의 게시판이 아닌 여러 게시판에서 이 방법을 사용하려면 어떻게 해야 될까요?
관리자가 글쓰기에서 체크한 것만 최신글로 불러오기
2010-04-21 (수) 14:31:11
좋네요.^^ 감사^^
굿
관리자가 글쓰기에서 체크한 것만 최신글로 불러오기
2013-03-06 (수) 12:37:44
좋은 팁 감사드려요. 잘 사용하고 있습니다~
그누보드5용으로 하나 만들어주세요~
댓글을 작성하시려면 로그인이 필요합니다.

그누4 팁자료실

3,309건

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
06-08-02 조회 4,038
06-07-31 조회 5,844
06-07-31 조회 3,108
06-07-29 조회 3,078
06-07-28 조회 4,488
06-07-27 조회 6,948
06-07-25 조회 6,528
06-07-24 조회 6,035
06-07-24 조회 3,736
06-07-23 조회 3,575
06-07-22 조회 5,149
06-07-22 조회 3,443
06-07-20 조회 3,641
06-07-20 조회 8,262
06-07-20 조회 4,666
06-07-19 조회 8,241
06-07-19 조회 3,225
06-07-18 조회 3,423
06-07-18 조회 1.1만
06-07-17 조회 5,546