한페이지에 최신글 페이징 두개이상 사용하기. 정보
한페이지에 최신글 페이징 두개이상 사용하기.관련링크
본문
링크에 뮤존님 스킨중 페이징을 추출해 사용하고 있습니다.
하나는 문제 없이 되는데..
다른 하나를 추가 하게 되면..
페이지 인식을 같이 해버립니다.
예를들어 처음 최근게시물에 2페이지를 클릭하면 두번째 최근게시물도 2페이지로 가게 됩니다.
extend에 파일을 따로 만들어 함수를 바꿔보기도 하고..
latest에서도 함수를 바꿔봤지만... 능력부족이네요..ㅜㅜ
어떤부분을 수정해야 인식을 따로 할수 있을까요..
extend파일
=========================================================================================
<?
// 페이지 노출 축출
function latest_ucc_etc($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="",$options2="",$s_subject="",$s_turn="",$t_end="" , $control="" ,$control2="",$pagenum="" )
{
global $g4, $is_admin;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
//정렬값이 없다면
if(!$options2)
$options2 = "wr_id";
//가로정렬값이 없는경우
if(!$options)
$options = 3;
//관리 테이블
$bo_table_cf = $bo_table;
//$bo_table 초기화
//$bo_table = "";
//$bo_table = "product";
$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(!$s_turn){
$s_turn = 365; // 조건값이 없을경우 1년 이내의 자료만 검색
}
$s_day = 24;
$s_time = $s_day*$s_turn; //정수값을 1일로 환산처리.
$now_time = $g4[time_ymdhis]; //현재시간기준, 삭제해도 됨.
$s_start = date("Y-m-d H:i:s", time()-3600 * $s_time);
//기간별 조건검색이 없는경우
if(!$t_end){
$t_end = $g4[time_ymdhis];; // 현재시간
}
else{
$t_day = 24;
$t_time = $s_day*$t_end; //정수값을 1일로 환산처리.
$now_time = $g4[time_ymdhis]; //현재시간기준, 삭제해도 됨.
$t_end = date("Y-m-d H:i:s", time()-3600 * $t_time);
}
//조건
$s_mct = "wr_is_comment = 0 ";
$s_mct .= " and wr_datetime >= '$s_start'";
$s_mct .= " and wr_datetime <= '$t_end'";
//관리자 control
if($control){
$s_mct .= " and $control = '$control2'";
}
////////////////////////////
$s_query = " select * from $tmp_write_table where $s_mct";
$s_total = sql_query($s_query);
$total = mysql_num_rows($s_total);
$s_page = $options;
$pagesu =ceil($total/$s_page); //페이지수를 구합니다. 결과:4
$start =($s_page*$pagenum); //가져올 시작위치를 결정합니다.
//////////////////////////////
$sql = " select * from $tmp_write_table where $s_mct order by $options2 desc limit $start, $s_page";
//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;
}
?>
======================================================================================
latest 스킨에서 페이지 호출
=======================================================================================
<?
//////////////페이지///////////////
$pageviewsu=5; //한페이지에 보여질 목록수
$pagegroup=ceil(($pagenum+1)/$pageviewsu); //페이지 그룹결정
$pagestart=($pageviewsu*($pagegroup-1))+1; //시작페이지결정
$pageend=$pagestart+$pageviewsu-1; //종료페이지결정
$num_url = "index.php?gr_id=bill_skin";
if($pagegroup>1){
$prev=$pagestart-$pageviewsu-1;//이전목록그룹의 시작페이지결정
echo"[<a href=$num_url&pagenum=$prev>◀◀</a>] ";
}
if($pagenum){
$prevpage=$pagenum-1;
echo"[<a href=$num_url&pagenum=$prevpage>◀</a>] ";
}
for($i=$pagestart;$i<=$pageend;$i++)
{
if($pagesu<$i){break;}
$j=$i-1;
if($j==$pagenum){echo "$i ";}
else{echo "[<a href=$num_url&pagenum=$j>$i</a>] ";}
}
if(($pagenum+1)!=$pagesu){
$nextpage=$pagenum+1;
echo"[<a href=$num_url&pagenum=$nextpage>▶</a>] ";
}
if($pageend<$pagesu){echo"[<a href=$num_url&pagenum=$pageend>▶▶</a>] ";}
//////////////페이지///////////////
?>
====================================================================================
댓글 전체
pagenum
변수로 페이지가 넘어가니
pagenum 요녀석을 다른이름해서 소스를 새로 생성하시면 될 것 같네요
~ㅅ~
모든 pagenum을 pagenu 로 바꿔봤지만..
첫번째 최근게시물 페이지를 바꾸면 여전히 두번째 게시물 페이지도 바껴버리고..
두번째 게시물에서 페이지를 바꾸려 하면 인식자체를 못합니다.
감사합니다~~~