위치 : 메인 » 스킨소개 » 최근게시물 » (19)번글 :: 아이보드에 페이지 번호 적용하기

apple1060.jpg

아이보드에 페이지 번호 적용하기

카테고리 ::
최근게시물
작성일 ::
2010년 11월 4일 목요일 PM 8시 16분
작성자 ::
멋쟁이냐
조회수 ::
9511 회

insert_iboard1_home2.php insert_iboard1_home2.php (44KB) (Down:502)

테크노트 원문 정보

제목(원문) ::
아이보드에 페이지 번호 적용하기
라이센스 ::
활용팁:apple
제작자 ::
멋쟁이냐
미리 보기 링크 ::
http://www.sabjil.wo.tc/preview/?q=apple:1060

미리보기 횟수 : 263

  • 현재(19번)글 본문 보기
  • 댓글(0), 댓글을 작성해주세요!
크게 작게

title아이보드에 페이지 번호 적용하기

검색단어 찾기 :

아이보드에서 페이지 번호를 출력 할 수 있도록 해 주는 소스 입니다.
질답게시판에 질문이 있기도 하고, 나름 적용해 놓은 소스가 있어서 정리해서 올립니다.
저는 '삽질' 사이트 통합검색에 적용했구요..
 
제가 적용한 소스는 util_iboard_lib 파일에서 했으나,, 사이트에 맞도록 만들다 보니 좀 복잡한것 같아서
그보다는 약간 쉬운 k빌더의 insert_iboard1_home.php 에서 적용하는 방법을 소개 합니다.
util_iboard_lib 파일에 적용하는 방법도, 아래를 한번 읽어 보시면, 금방 알 수 있을거라 생각 듭니다..)
 

1. 먼저 테스트를 위해 insert_iboard1_home 파일을 복사해서 insert_iboard1_home2.php 로 하고 상단에  

<?
global $db_ident,$page;

// ====== 설정 ============
$iboard_URI="board.php?board=$GLOBALS[board]&command=skin_insert&exe=insert_iboard1_home2"; //출력될 아이보드기본 url
$bbsnames="freeboard/community1/community2/community3"; //어느 보드에서 출력 할것인가?
$index_many=10; //페이지당 글을 몇개 출력 할것인가? 10개 
$print_pg=5; //페이지 번호를 몇개 출력 할것인가? 5개
// ========================

foreach(explode('/',$bbsnames) as $value) {
 $bbs_ad_table=$db_ident."2_".$value."_ad";
 $sql=SQL_select_Fetch(" no='1' "," $bbs_ad_table "); //a_tn2_보드_ad 테이블, no=1, tx6_8 컬럼에
 $bbs_total=$bbs_total+$sql[tx6_8]; //150; //총글갯수
}
if(!$page) $page=1; //페이지가 없을때 1
$skip=$index_many*($page-1); //건너뛸 갯수
$total_page=ceil($bbs_total/$index_many); //마지막 페이지 번호
$cell_NO=ceil($page/$print_pg); //한번에 출력될 페이지들의 묶음 번호
if($cell_NO>1) $lastpage=$cell_NO*$print_pg; //현재 출력된 페이지묶음의 마지막페이지 구함
else $lastpage=$print_pg;
?>

와 같이 소스를 붙여 넣습니다.

 

2. 위 소스에서 == 설정== 란에 있는 4곳을 수정해 줍니다.
 
3. 약간 아래쪽에... 아래와 같이 출력 설정셋을 만듭니다.
 
	 // 일반 단순형태 출력설정 셋트
  $PAGE_style_set=array(
   TABLE_head_function =>  "none",     //  테이블 상단 function
   TD_function_set     =>  "TD_subject3/TD_date", # 제목/날짜
   table_width         =>  "288",
   subject_width       =>  "250",
   subject_length      =>  "31",
   subject_icon        =>  "$this_skin/b_img_add/point_disk2.gif",
   new_icon_time       =>  "12",
   mysql_orderby  =>  "wdate",     // select 쿼리의 order by 절 옵션 (예, 조회수에 의한 출력순서로 출력하라 : "  hit " )
   //아래부터는 페이지 적용때 사용 ==
   mysql_skip          =>  "$skip", // select 쿼리의 limit skip 옵션 (예, 3을 지정하면 목록처음에서 3개를 뛰고 select 한다.)
   index_many          =>  "$index_many",
   page_cnt            =>  "1", //여러개 보드를 조인하며, 페이지 번호 출력할때는 반드시 1 로 지정
  ); 
4. 페이지 번호출력을 위해 아래와 같이 iBoard_Print_Here(~~) 윗쪽이나 아래쪽, 등.. 원하는 위치에 아래의 페이지 소스를 넣어 줍니다.
<?
iBoard_Print_Here($bbsnames,$PAGE_style_set); 
 
// 페이지번호 출력 =========
if($cell_NO>1) echo "<a href='$iboard_URI&page=".(($cell_NO-1)*$print_pg)."'>이전</a> "; //이전
for($n=($lastpage-$print_pg+1); $n<=$lastpage; $n++){ //페이지번호
 if($n<=$total_page){
  echo "<a href='$iboard_URI&page=$n'>";
  if($page==$n) echo "<span style='color:red'>"; else echo "<span>";
  echo "[$n]</span></a> ";
 }
}
if(($total_page/$print_pg)>$cell_NO) echo "<a href='$iboard_URI&page=".($cell_NO*$print_pg+1)."'>다음</a> "; //다음
// 출력 끝 ========
?>
5. 여기서 약간? 중요함ㅋㅋ
한참 아래쪽에 있는 목록출력 함수에서
	if($tablecnt<2) $is_query.="select * from $list_table $whereStr $sub_query";
소스를 찾아 바로 아래줄에
	else if($Print_option[page_cnt]=='1') $is_query.="(select * from $list_table $whereStr)"; //추가
소스를 추가 해 줍니다.

끝.. :)
  • 0
    3500

  1. page:1/2
  2. 1
  3. 2

sabjilmode@sabjil.wo.tc

© 2010 Sabjil