원하는 필드값에 따라 최근 게시물 순서 임의지정 및 노출, 비노출 시키기 > 그누4 팁자료실

그누4 팁자료실

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

원하는 필드값에 따라 최근 게시물 순서 임의지정 및 노출, 비노출 시키기 정보

원하는 필드값에 따라 최근 게시물 순서 임의지정 및 노출, 비노출 시키기

본문

제가 워낙이나 왕초보라서 다른 분들의 팁을 적당히 주물러서 최대한 초보들이 이해하기 쉽도록 서술을 하다보니 좀 너저분하게 보일지도 모르겠아오나 왕초보의 서러움을 기억하고 세밀하게 서술을 하였아오니 양해를 하옵소서...

유사한 팁은 있으나 노출의 순서를 임의로 원하는 순서를 정해 주는 팁은 없어서 함 만들어 보았습니다.

그럼 유용하게 사용하소서....



wr_10을 이용한다고 했을 때


1. 글쓰기 페이지에서


<'input type="checkbox" name="wr_10" value="1"<? echo ($wr_10 =='1') ? ' checked="checked"' : '';?>> 를 만드시고 (혹은 자신이 원하는 필드의 값을 이용하여도 됩니다.:1,2,3..., 가,나,다..., a,b,c... 등의 input type="text" 박스 등등을 사용하여도 가능합니다. 단 필드의 속성을 숫자(?화폐) 전용으로 하면 문자는 입력이 아니되오니, 문자를 사용시에는 필드의 속성을 바꾸셔야 합니다.)







lib/latest.lib.php 파일을 열어 보시면 ....

latest 함수가 있습니다.

↓↓↓ 여기에서
// 최신글 추출
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 ";
// 위의 코드 보다 속도가 빠름
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_num 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;
}
↑↑↑ 여기까지를 복사해서




>

밑에 붙여 넣기 하신후에

function latest 를 function latest2 라고 바꾸신후

붙여넣기를 한 latest2 의 내용중에

$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_num limit 0, $rows ";

이런 문장이 있는데

$sql = " select * from $tmp_write_table where ( wr_is_comment = 0 and wr_10 > 1 ) order by wr_10 limit 0, $rows ";

이라고 조건만 바꾸시면 됩니다.



그리고 최근글을 노출 시킬 페이지에 다음과 같이 호출하시면 원하는 필드값에 따라 최근 게시물 순서 임의지정 및 노출, 비노출 시키기 완성 됩니다.

최신글 호출시에 <'?= latest("스킨", "보드명", 노출 줄 수, 글자수) ?> 를 <'?= latest2("스킨", "보드명", 노출 줄 수, 글자수) ?> 로 latest 이름만 변경하시면 원하는 게시물의 순서를 마음대로 바꿀 수 있는 최근글을 출력할 수 있습니다.

위 내용 중 <'input, <'?= 이 부분 중 ' 요것은 빼야 합니다. - 이유는 게시판에 HTML 을 체크하여 글자색을 지정하다 보니 ' 를 찍어서 소스가 숨기는 현상을 방지하고자함입니다.

헐~~~ 넘 왕왕초보적인 서술이어서 고급자분들께는 지루함이 극치를 이루어 죄송할 따름이옵니다.
추천
4

댓글 2개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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