웹 페이지 의 페이지 하단 에 코드 생 성(PHP 백 엔 드 방법)
3973 단어 페이지 를 나 누 어 아래 에 표시 하 다.
효과 그림:
구현 코드:
/**
*
* @param $page (1 )
* @param $num
* @param $rows
* @param $length
* @return array
*/
public function PageDate($page, $num , $rows , $length){
//
$MaxPage = 0; //
$MinPage = 0; //
$ServerPage = 0; //
$PageData = array(); // ( )
$PageShowData = array(); //
$page = intval($page);
if($rows == 0){
return $data = array(
'page' => $page,
'MaxPage' => $MaxPage,
'MinPage' => $MinPage,
'ServerPage' => $ServerPage,
'PageData' => $PageData,
'PageShowData' => $PageShowData
);
}
//
$MaxPage = intval($rows / $num);
$double = $rows % $num;
if($double > 0.000000001)
{
$MaxPage += 1;
}
$MinPage = 1;
$ServerPage = 1;
//
for($i = 1; $i <= $MaxPage; $i++ ){
$PageData[$i] = $i;
}
//
if($page < $MinPage){
$page = 1;
}
if($page > $MaxPage){
$page = 1;
}
/* */
//
if($page == $MinPage){
$PageShowData[1] = $page;
}
if($page > $MinPage){
$PageShowData[1] = $MinPage;
// $PageShowData[2] = $page - 1; // <<
$PageShowData[2] = '<<'; // <<
if($page -2 > $MinPage ){
$PageShowData[3] = $page - 2;
$PageShowData[4] = $page - 1;
}elseif($page -2 == $MinPage){
$PageShowData[3] = $page - 1;
}
//
$PageShowData[count($PageShowData) + 1] = $page;
}
$COUNT = count($PageShowData) + 1;
//
if($page == $MaxPage){
return $data = array(
'page' => $page,
'MaxPage' => $MaxPage,
'MinPage' => $MinPage,
'ServerPage' => $ServerPage,
'PageData' => $PageData,
'PageShowData' => $PageShowData
);
}
if($page < $MaxPage) {
if($MaxPage - $page >= 2){
$j = 1;
for($i = $COUNT; $i <= $length ; $i++){
$PageShowData[$i] = $page + $j;
$j ++;
if($PageShowData[$i] == $MaxPage -1){
break;
}
}
}
$COUNT = count($PageShowData) + 1;
// $PageShowData[$COUNT] = $page + 1; //>>
$PageShowData[$COUNT] = '>>';
$PageShowData[$COUNT + 1] = $MaxPage;
//
$ServerPage = $PageShowData[$COUNT-1] + 1;
if($ServerPage > $MaxPage){
$ServerPage = 1;
}
return $data = array(
'page' => $page,
'MaxPage' => $MaxPage,
'MinPage' => $MinPage,
'ServerPage' => $ServerPage,
'PageData' => $PageData,
'PageShowData' => $PageShowData
);
}
}
본문 은 IT 985 블 로그 에서 나 온 것 이다.