선택(승인)글+순서다양+글쓴이연락처,성별 등..까지 최근게시물 뽑기 > 그누4 팁자료실

그누4 팁자료실

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

선택(승인)글+순서다양+글쓴이연락처,성별 등..까지 최근게시물 뽑기 정보

선택(승인)글+순서다양+글쓴이연락처,성별 등..까지 최근게시물 뽑기

본문

1번팁 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=41381
2번팁 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=41537&page=2
3번팁 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=677

관리자가 선택(승인)한 글(1번팁)을 최근게시물로 추출시
순서를 최신,랜덤,추천,hit,comment 등 다양하게 뽑을때 (3번팁)
글쓴이(회원정보)도 같이 추출 (2번팁)하기 입니다

첫번째할일
맘대로이름.php를 만들어 삽입후 extend 폴더에 저장한다
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 회원정보 + 순서맘대로 + 승인글 최근게시물
function latest1($skin_dir="", $bo_table,
$rows=10, $subject_len=40, $options="", $yes,$brch="") // latest1이부분을 원하는 이름으로 중복안되게 수정
{
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; // 게시판 테이블 전체이름
if ($brch == "H") // 넘어온 값이 "H" 즉 hit 일때
$brch = "wr_hit"; // hit 순으로 쿼리
elseif ($brch == "C") // 넘어온 값이 "C" 즉 comment 일때
$brch ="wr_comment"; // comment 순으로 쿼리
elseif ($brch == "R") //넘온값이 "R" 즉 random 일때
$brch = "rand()"; // 랜덤 쿼리
elseif ($brch == "G") //넘온값이 "G" 즉 추천 일때
$brch = "wr_good"; // 추천 쿼리
else // 넘어온값이 없거나 그이외 일때
$brch = "wr_id"; // 걍 최근순으로 쿼리
$sql = " select * from $tmp_write_table where wr_is_comment = 0 and wr_1
= '1'
order by $brch desc limit 0, $rows "; // wr_1 = '1' 에서 wr_1은 글쓸때 필드명 1은 옵션값
//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;
}
?>

두번째 할일
호출페이지에 삽입시 (최근게시물설치시 ) 파일
<? echo latest1("최근게시물폴더명", "게시판명", 추출갯수, 제목길이, 옵션값, "yes", "순서");?>
* 순서 : R랜덤/G추천/H추천/C코멘트/B 또는 ,"순서" 를 삭제시 기본최신글
* latest1 : 첫번째할일의 lib/latest.lib.php 에서 latest1이부분을 원하는 이름으로 중복안되게 수정한 이름과
동일하게 쓰셔야 합니다.
* 옵션값 : 첫번째할일의 lib/latest.lib.php 에서 wr_1 = '1' 에서 1은 옵션값과 동일하게 쓰셔야 합니다.
예제
<? echo latest1("test", "test", 20, 40, 1, "yes", "R");?>
삽입


세번째할일
skin/latest/폴더명/latest.skin.php
<? for ($i=0; $i<count($list); $i++) { ?>
아랫줄에
<? $profile = get_member("{$list[$i][mb_id]}"); ?>
삽입
글쓴이의회원정보 추출할곳에
<?=$profile[mb_nick]?>
<?=$profile[mb_hp]?>
.
.
.
.

등..입맛대로 넣기.

단, 여기에서 해당되는 게시판 스킨(skin/board/스킨폴더/write.skin.php) 에서 (wr_1로 예제)
<input type=checkbox name=wr_1 value="1" <?=($write[wr_1])?" checked":"";?>>승인하기 // value="1" 은 옵션값입니다.
로 되어있어야지 선택 승인글로 등록이 됩니다. ^^ (체크박스임)
* 이상..지구인님이 99.9% 도움 주신 팁입니다.
질답을 통해서 얻은 팁인대..혹시 도움이 될까 해서 재 정리해 올립니다.
추천
0

댓글 8개

멋진작품 감사합니다.

참고로 lib 폴더에 추가하신 다음 내용을
>첫번째할일 lib/latest.lib.php
>을 열어서 추가한다
>
>function latest1($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="",

lib/latest.lib.php를 수정하시 마시고
extend/ 디렉토리에 새로운 이름을 만들어서 추가하시기 바랍니다.

lib에 넣어두시면 향후 g4 업그레이드시에 또 추가해야하는 문제가 발생합니다.
extend 에 넣어두시면 g4 업그레이드시 별도의 체크 없이 사용가능합니다.
루뚜님 감사합니다.. 더 좋은 방법이 있었끈요.. 아직 촙오라서.. ^^
수정해 올리겠습니다

extend/ 디렉토리에 새로운 이름을 만들어서 추가하시기 바랍니다.
이부분에서 새로운 이름은 아무거나 해도 상관없는거죠 ?
그냥 알아서 추출이 되나 ㅡ.ㅡ
그누보드 공부를 10% 도 안해본 상태라서 많이 어렵네요 ^^:;
제 이름이 언급되다니 이거 참 송구하네요. 저도 그 팁을 이전에 질문으로 올려서 어떤 고수님에게 도움을 얻은 건데요..;;;
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=3183 - 네잎클로버님의 팁이었네요.
$sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
$board = sql_fetch($sql);
 이 부분은 필요 없는 부분 아닌가요....... 삭제 해도 될 듯 싶은데.....
전체 8 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

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