>  기사  >  백엔드 개발  >  PHP 페이징 코드 예(적응 범위)

PHP 페이징 코드 예(적응 범위)

WBOY
WBOY원래의
2016-07-25 08:52:121190검색
  1. /*

  2. * mysql 페이징 함수 코드
  3. * 편집: bbs.it-home .org
  4. *
  5. */
  6. 함수 페이지($page,$total,$phpfile,$pagesize=10,$pagelen=7){
  7. $pagecode = '';//변수 정의 , 페이징으로 생성된 HTML 저장
  8. $page = intval($page);//숫자가 아닌 페이지 번호 방지
  9. $total = intval($total);//총 레코드 값 유형이 올바른지 확인
  10. if(!$total) return array();//총 레코드 수가 0이면 빈 배열을 반환
  11. $pages = ceil($total/$pagesize);//총 페이징 계산
  12. //페이지 번호 적법성 처리
  13. if($page<1) $page = 1
  14. if($page>$pages) $page = $pages
  15. //쿼리 계산; offset
  16. $offset = $pagesize*($ page-1);
  17. //페이지 범위 계산
  18. $init = 1;//시작 페이지 번호
  19. $max = $pages;//끝 페이지 번호
  20. $pagelen = ($pagelen %2)?$pagelen:$pagelen 1;//페이지 번호 수
  21. $pageoffset = ($pagelen-1)/2;//왼쪽으로 오프셋 및 페이지 번호 오른쪽

  22. < p>//html 생성
  23. $pagecode='
    '
  24. $pagecode.=" $page/$pages";// 어떤 페이지인지, 총 몇 페이지인지
  25. //첫 번째 페이지인 경우 첫 번째 페이지와 이전 페이지의 연결이 표시되지 않습니다
  26. if($page!=1){
  27. $pagecode.=" <<";//첫 번째 페이지
  28. $pagecode.="<";//이전 페이지
  29. }
  30. //페이지 수가 페이지 수보다 큰 경우 오프셋 가능 Shift
  31. if($pages>$pagelen){
  32. //현재 페이지가 작거나 같은 경우 왼쪽 오프셋
  33. if($page<=$pageoffset){
  34. $init=1
  35. $max = $pagelen
  36. }else{//현재 페이지가 왼쪽 오프셋
  37. //현재 페이지 번호의 오른쪽 오프셋이 최대 페이지 수를 초과하는 경우
  38. if($page $pageoffset>=$pages 1){
  39. $init = $pages-$pagelen 1; 🎜>}else{
  40. //왼쪽 및 오른쪽 오프셋이 모두 존재할 때의 계산
  41. $init = $page-$pageoffset;
  42. $max = $page $pageoffset
  43. }
  44. }
  45. }
  46. //html 생성
  47. for($i=$init;$i<=$max;$i ){
  48. if($i==$page){
  49. $pagecode .=''.$i.'';
  50. } else {
  51. $pagecode.= "$i";
  52. }
  53. }
  54. if($page!=$pages){
  55. $pagecode.=">";//다음 페이지
  56. $pagecode.=">>";//마지막 페이지
  57. }
  58. $pagecode .="
"
  • return 배열( 'pagecode'=>$pagecode,'sqllimit'=>' 제한 '.$offset.','.$pagesize);

  • 코드 복사
  • 2, 페이지 번호 점프 텍스트 상자 추가

    $phpfile = 'index.php';//페이지 파일 이름
  • $page= isset($_GET[ 'page'])?$_GET['page']:1;//기본 페이지 번호
  • $db = mysql_connect('localhost','test','test');//데이터베이스 연결
  • mysql_select_db ( 'test',$db);//데이터베이스 선택
  • $counts = mysql_num_rows(mysql_query('select `id` from `test`',$db));//필요한 전체 데이터 수 가져오기
  • $sql='select `id`,`title` from `test`';//쿼리문 SQL 정의
  • $getpageinfo = page($page,$counts,$phpfile);//페이징을 생성하는 함수 호출 HTML 및 SQL LIMIT 절
  • $sql.=$getpageinfo['sqllimit'];//전체 SQL 문 결합
  • $data = $row = array();//배열 초기화
  • $result = mysql_query($sql,$db);//결과 세트 가져오기
  • //$data 배열에 데이터 로드
  • while($row = mysql_fetch_array($result)){
  • $data[ ]=$ row;
  • }
  • ?>
  • echo $getpageinfo['pagecode'];//페이징 HTML 코드 표시
  • ?>
  • 코드 복사
  • 3. 코드에 사용된 페이징 쿼리 CSS 스타일시트 파일입니다.

  • 코드 복사
  • 추천 도서:

    • PHP 및 Ajax 새로 고침 페이징 코드 없음
    • PHP 기사 페이징 구현 코드
    • php 페이지 넘김(페이지 매김) 코드 제한
    • 여러 페이징 방법을 사용하는 PHP 페이징 클래스
    • 이전 페이지와 다음 페이지에 대한 PHP 페이지 매김 코드
    • 처음 10페이지와 다음 10페이지에 대한 PHP 페이징 코드
    • 간단한 PHP 페이지네이션 코드 예시
    • 좋은 PHP 페이징 클래스 코드
    • 페이징 기능: 이전 페이지 다음 페이지
    • 유용한 PHP 페이징 클래스
    • php 긴 기사 페이지 매기기 코드
    • 실용적인 PHP 페이징 수업
    • 빠른 PHP 페이징 클래스


    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.