php 로 페이지 효과 구현 예시 코드

페이지 효 과 는 웹 페이지 에서 흔히 볼 수 있 지만,어떻게 해야만 페이지 를 나 눌 수 있 습 니까?오늘 두 가지 방법 으로 페이지 를 나 누 는 효 과 를 실현 하 였 습 니 다.
우선,우 리 는 데이터베이스 에 시 계 를 준비 하고 데 이 터 를 삽입 해 야 합 니 다.이것 은 모두 필요 한 전제 작업 입 니 다.더 이상 말 하지 않 겠 습 니 다.그림 에서 보 듯 이(라 이브 러 리 이름 은 Jereh 이 고 표 이름 은 n 입 니 다.content):

단계 분석:
페이지 를 나 눌 필요 가 있 으 면"select*from tableName limit num 1,num 2"를 사용 해 야 합 니 다.이것 은 한 정 된 조회 문 입 니 다.뒤에 두 개의 매개 변수 가 있 습 니 다.num 1 은 몇 번 째 부터 찾 습 니 다.num 2 는 찾 는 정보의 갯 수 입 니 다.예 를 들 어 제 가 2,3,4 라 는 세 가지 데 이 터 를 찾 고 싶 습 니 다.다음 그림 과 같 습 니 다.

자,우리 절 차 를 이야기 합 시다.
1.조 회 를 제한 하 는 기능 을 실현 하기 위해 함 수 를 만 듭 니 다.
먼저 이 기능 을 실현 하려 면 현재 페이지 수 와 제한 할 페이지 에 몇 가지 정 보 를 표시 해 야 하 는 지 알 아야 합 니 다.이것 은 형 삼 으로 전 달 될 수 있 습 니 다.그러면...
페이지 Num 을 페이지 수로 설정 합 니 다.페이지 Size 는 한 페이지 에 몇 개의 데 이 터 를 표시 합 니 다."select*from table Name limit num 1,num 2"라 는 검색 어 에서
num 1 은 바로(pageNum-1)*pageSize,num 2 는 pageSize 입 니 다.이 관 계 를 알 게 된 후에 처리 하기 쉽 습 니 다.코드 는 아래 에 있 습 니 다.

//     
function news($pageNum = 1, $pageSize = 3)
{
  $array = array();
  $coon = mysqli_connect("localhost", "root");
  mysqli_select_db($coon, "jereh");
  mysqli_set_charset($coon, "utf8");
  // limit          ,       ,          ,      
  $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
  $r = mysqli_query($coon, $rs);
  while ($obj = mysqli_fetch_object($r)) {
    $array[] = $obj;
  }
  mysqli_close($coon,"jereh");
  return $array;
}
위의 코드 에서 주의해 야 할 것 은 limit 뒤에 빈 칸 을 추가 해 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.
2.두 번 째 함 수 를 만들어 총 페이지 수 를 표시 하 는 함수
이것 은 새로운 지식 이 별로 없다.모두 이전에 쓴 지식 포인트 이 니 코드 를 직접 보 자.

//        
function allNews()
{
  $coon = mysqli_connect("localhost", "root");
  mysqli_select_db($coon, "jereh");
  mysqli_set_charset($coon, "utf8");
  $rs = "select count(*) num from n_content"; //        
  $r = mysqli_query($coon, $rs);
  $obj = mysqli_fetch_object($r);
  mysqli_close($coon,"jereh");
  return $obj->num;
}
3.이 두 함 수 를 호출 하여 초보적인 처 리 를 한다.
우 리 는 다음 페이지 의 다음 페이지 의 결 과 를 만 들 려 면 get 방법 으로 이 페이지 에 데 이 터 를 전송 해 야 합 니 다.그러면 우 리 는 페이지 를 새로 고 칠 때 get 은 데 이 터 를 얻 지 못 할 것 입 니 다.그래서 세 가지 연산 을 사용 해 야 합 니 다.코드 를 보 았 습 니 다.

<?php
  @$allNum = allNews();
  @$pageSize = 3; //           
  @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
  @$endPage = ceil($allNum/$pageSize); //   
  @$array = news($pageNum,$pageSize);
  ?>
4.페이지 에 표시
페이지 에 표시 하려 면 foreach 순환 이 필요 합 니 다.코드 가 간단 합 니 다.아래 를 보 세 요.

<table border="1" style="text-align: center" cellpadding="0">
  <tr>
    <td>  </td>
    <td>    </td>
    <td>  </td>
    <td>   </td>
    <td>    </td>
  </tr>
  <?php
  foreach($array as $key=>$values){
    echo "<tr>";
    echo "<td>{$values->id}</td>";
    echo "<td>{$values->title}</td>";
    echo "<td>{$values->src}</td>";
    echo "<td>{$values->indexs}</td>";
    echo "<td>{$values->times}</td>";
    echo "</tr>";
  }
  ?>
</table>
5.이전 페이지,다음 페이지 의 효과 실현
페이지 전환 효 과 를 실현 하려 면 a 태그 의 href 속성,주소 쓰기 가 필요 합 니 다.pageNum=.............................................................................GET 는 인 자 를 받 아 들 였 기 때문에 우 리 는 get 의 인자 전달 만 하면 된다.
첫 페이지:"pageNum=1";
이전 페이지:"pageNum="
다음 페이지:"pageNum="
끝 페이지:"pageNum=”;
특히 주의해 야 할 것 은"pageNum="일 때 뒤에 절대 빈 칸 을 두 지 마 세 요.코드 는 다음 과 같 습 니 다.

 <a href="?pageNum=1">  </a>
  <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">   </a>
  <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">   </a>
  <a href="?pageNum=<?php echo $endPage?>">  </a>
전체 코드 는 다음 과 같 습 니 다.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>  </title>
  <?php

//     
function news($pageNum = 1, $pageSize = 3)
{
  $array = array();
  $coon = mysqli_connect("localhost", "root");
  mysqli_select_db($coon, "jereh");
  mysqli_set_charset($coon, "utf8");
  // limit          ,       ,          ,      
  $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
  $r = mysqli_query($coon, $rs);
  while ($obj = mysqli_fetch_object($r)) {
    $array[] = $obj;
  }
  mysqli_close($coon,"jereh");
  return $array;
}

//        
function allNews()
{
  $coon = mysqli_connect("localhost", "root");
  mysqli_select_db($coon, "jereh");
  mysqli_set_charset($coon, "utf8");
  $rs = "select count(*) num from n_content"; //        
  $r = mysqli_query($coon, $rs);
  $obj = mysqli_fetch_object($r);
  mysqli_close($coon,"jereh");
  return $obj->num;
}

  @$allNum = allNews();
  @$pageSize = 3; //          
  @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
  @$endPage = ceil($allNum/$pageSize); //   
  @$array = news($pageNum,$pageSize);
  ?>
</head>
<body>
<table border="1" style="text-align: center" cellpadding="0">
  <tr>
    <td>  </td>
    <td>    </td>
    <td>  </td>
    <td>   </td>
    <td>    </td>
  </tr>
  <?php
  foreach($array as $key=>$values){
    echo "<tr>";
    echo "<td>{$values->id}</td>";
    echo "<td>{$values->title}</td>";
    echo "<td>{$values->src}</td>";
    echo "<td>{$values->indexs}</td>";
    echo "<td>{$values->times}</td>";
    echo "</tr>";
  }
  ?>
</table>
<div>
  <a href="?pageNum=1">  </a>
  <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">   </a>
  <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">   </a>
  <a href="?pageNum=<?php echo $endPage?>">  </a>

</div>

</body>
</html>
효 과 는 다음 과 같 습 니 다:

php 로 페이지 효 과 를 실현 하 는 예제 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 phop 실현 페이지 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기