>백엔드 개발 >PHP 튜토리얼 >PHP mysql 페이징 쿼리 코드 및 데모 예제

PHP mysql 페이징 쿼리 코드 및 데모 예제

WBOY
WBOY원래의
2016-07-25 08:52:171014검색
  1. //파일을 반복적으로 포함하여 발생하는 오류를 방지하기 위해 해당 기능이 존재하는지 판단하는 조건 추가됨:

  2. if(!function_exists(pages)){
  3. //pages() 함수를 정의합니다. 세 매개변수의 의미는 다음과 같습니다.
  4. //$total: 총 정보 수
  5. //$displaypg: 각 페이지에 표시 정보 수, 여기서 기본 설정은 20입니다.
  6. //$url: 다른 쿼리 정보 "페이지"를 추가하는 것을 제외하고 페이징 탐색의 링크는 다음과 같습니다. 이 URL과 동일합니다.
  7. //기본값은 이 페이지의 URL(예: $_SERVER["REQUEST_URI"])로 설정해야 하는데, 기본값 오른쪽은 상수만 가능하므로 기본값은 빈 문자열을 입력하고 함수 내부에 이 페이지의 URL을 설정합니다.
  8. 함수 페이지($total,$displaypg=20,$url=''){

  9. //여러 전역 변수 정의:

  10. //$page: 현재 페이지 number;
  11. //$firstcount: (데이터베이스) 쿼리의 시작 항목
  12. //$pagenav: 함수 내부에 출력되지 않는 페이지 탐색 바코드
  13. //$_SERVER: 읽기 이 페이지의 URL "$_SERVER["REQUEST_URI"]"가 필요합니다.
  14. global $page,$firstcount,$pagenav,$_SERVER;

  15. //여기서 "$displaypg"를 함수 외부에서 액세스할 수 있게 하려면 전역으로 설정하세요. 변하기 쉬운. 변수를 전역 변수로 재정의한 후에는 원래 값을 덮어쓰게 되므로 여기서 다시 할당하세요.

  16. $GLOBALS["displaypg"]=$displaypg;
  17. $page=$_GET['page'];
  18. if(!$page) $page=1;

  19. //$url이 기본값(빈 값)을 사용하는 경우 해당 값은 이 페이지의 URL에 할당됩니다.

  20. if(!$url){ $url=$_SERVER["REQUEST_URI" ];}

  21. //URL 분석:

  22. $parse_url=parse_url($url);
  23. $url_query=$parse_url["query"]; URL의 문자열을 별도로 쿼리
  24. if($url_query){
  25. //URL에 페이지 번호 정보가 포함될 수 있으므로 새로운 페이지 번호 정보를 추가하려면 해당 URL을 제거해야 합니다.
  26. //정규식
  27. $url_query=ereg_replace("(^|&)page=$page","",$url_query);

  28. //바꾸기 처리된 URL의 쿼리 문자열은 원래 URL의 쿼리 문자열을 대체합니다.

  29. $url=str_replace($parse_url["query"],$url_query,$url);

  30. < //URL 뒤에 페이지 쿼리 정보를 추가하고 할당을 기다립니다.
  31. if($url_query) $url.="&page"; else $url.="page";
  32. }else {
  33. $ url.="?page";
  34. }

  35. //페이지 번호 계산:

  36. $lastpg=ceil($total/$displaypg) //마지막 페이지, 또한 총 페이지 수
  37. $page=min($lastpg,$page);
  38. $prepg=$page-1; //이전 페이지
  39. $nextpg=($page==$lastpg ? 0 : $page 1); //다음 페이지
  40. $firstcount=($page-1)*$displaypg;

  41. //페이징 탐색 바코드 시작:

  42. $pagenav="Displaypg".($total?($firstcount 1):0)."-".min($firstcount $displaypg,$total)." < /B> 레코드, 총 $total 레코드
    ";

  43. //페이지가 하나만 있는 경우 함수에서 빠져나옵니다.

  44. if($lastpg<= 1) false 반환;

  45. $pagenav.=" 홈페이지 ";

  46. if($prepg ) $pagenav.=" 이전 페이지 "; else $pagenav.=" 이전 페이지";
  47. if($nextpg) $pagenav =" 다음 페이지 "; else $pagenav.=" 다음 페이지";
  48. $pagenav.=" 마지막 페이지 ";

  49. //점프 목록을 아래로 내리고 모든 페이지 번호를 반복합니다.

  50. $pagenav.="에서 No.< ;이름 선택='topage' 크기='1' onchange='window.location="$url="this.value'>n";
  51. for($i=1;$i<=$ lastpg; $i ){
  52. if($i==$page) $pagenav.="n";
  53. else $pagenav =" n";
  54. }
  55. $pagenav.=" $lastpg 페이지";
  56. }
  57. }
  58. ?>

코드 복사

2. MySQL 페이징 호출 데모:

  1. $DatabaseServer="localhost";
  2. $UserName="root";
  3. $PassWord="";
  4. $DatabaseName="dede";

  5. $conn=mysql_connect($DatabaseServer,$UserName,$PassWord) 또는 die("데이터베이스 연결 오류 " mysql_error());

  6. mysql_select_db($DatabaseName,$conn);
  7. mysql_query("set names gbk");
  8. include("Pages.php"); //“pages.php&rdquo 포함 ;파일

  9. //전체 정보 개수 가져오기

  10. $result=mysql_query("select * from dede_area");
  11. $total=mysql_num_rows($result);< ; /p>
  12. //페이지 호출(), 페이지당 10개의 정보 표시(기본값 20개 사용 시 이 매개변수 생략 가능), 이 페이지 URL 사용(기본값이므로 생략) .

  13. pages($total,10);

  14. //전역 변수 사용

  15. $result=mysql_query("select * from dede_arealimit $firstcount,$displaypg ");
  16. while($row=mysql_fetch_array($result)){
  17. //(목록 내용 생략)
  18. echo($row['eid']);
  19. echo($row['name' ]);
  20. echo ("

    ");

  21. }

  22. //페이징 탐색 표시줄 출력

  23. echo $pagenav;
  24. // (다음 과정은 생략)
  25. ?>

코드 복사

php mysql 페이징 효과는 다음과 같습니다. 수치: php mysql 分页效果

추천 도서:

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


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