>  기사  >  백엔드 개발  >  초보자 try-php 페이징 예제 코드

초보자 try-php 페이징 예제 코드

WBOY
WBOY원래의
2016-07-25 09:05:21815검색
    1. /*
    2. test数据库,一个test表,唯一字段Id,作为测试使用
    3. @link http://bbs.it-home.org
    4. */
    5. $conn = mysql_connect("localhost","root","");
    6. $maxnum = 2; //每页显示记录条数
    7. mysql_select_db("test", $conn);
    8. $query1 = "SELECT COUNT(*) AS totalrows FROM test ";
    9. $result1 = mysql_query($query1, $conn) or die(mysql_error());
    10. $row1 = mysql_fetch_assoc($result1);
    11. $totalRows1 = $row1['totalrows']; //数据集数据总条数
    12. $totalpages = ceil($totalRows1/$maxnum);//计算可分页总数,ceil()为上舍函数
    13. if(!isset($_GET['page']) || !intval($_GET['page']) || $_GET['page'] > $totalpages) $page = 1; //对3种出错进行默认处理
    14. //在url参数page不存在时,page不为10进制数时,page大于可分页数时,默认为1
    15. else $page = $_GET['page'];
    16. $startnum = ($page - 1)*$maxnum; //从数据集第$startnum条开始取,注意数据集是从0开始的
    17. $query = "SELECT * FROM test LIMIT $startnum,$maxnum";//选择出符合要求的数据 从$startnum条数据开始,选出$maxnum行
    18. $result = mysql_query($query, $conn) or die(mysql_error());
    19. $row = mysql_fetch_assoc($result);
    20. ?>
    21. 分页示例
    22. do {
    23. ?>
    24. 테이블 너비="95%" border="0" align="center" cellpadding="0" cellpacing="0">
    25. ;td height="27">
    26. echo "Total$totalRows1 레코드" ;
    27. echo "".$page.""."/".$totalpages."page"
    28. //implementation< ;< < 1 2 3 4 5>> 페이지 매김 링크
    29. $pre = $page - 1;//이전 페이지
    30. $next = $page 1;//다음 페이지
    31. $maxpages = 4 ;//페이징 처리 시$pagepre = 1;//현재 페이지가 4개이면 이전 페이지도 표시되어야 합니다. 페이지(예: << 3 /4/ 5 6 >> 표시 페이지 3
    32. if($page != 1) { echo "<< ";
    33. echo "< ";}
    34. if($maxpages>=$totalpages) //총 기록이 4페이지를 표시하기에 부족한 경우
    35. {$pgstart = 1;$ pgend = $totalpages;}//페이지 인쇄 처리 없음
    36. elseif(($page-$pagepre-1 $maxpages)>$totalpages)//총 페이지 수가 6개이고 현재 개수는 5개와 같습니다. , 그러면 4개가 아니라 이전 3 4가 표시되어야 합니다.
    37. {$pgstart = $totalpages - $maxpages 1;$pgend = $totalpages;}
    38. else{
    39. $pgstart=(($ page< =$pagepre)?1:($page-$pagepre));//현재 페이지가 1이면 0 1 2 3 > 대신 1 2 3 4 > ;
    40. $pgend=(($pgstart==1)?$maxpages:($pgstart $maxpages-1))
    41. }
    42. for($pg=$pgstart;$pg<= $pgend ;$pg ){ //점프 메뉴
    43. if($pg == $page) echo "$pg ";
    44. 그렇지 않으면 echo "$pg ";
    45. }
    46. if($page != $totalpages)
    47. {echo "> ";
    48. echo ">> ";}
    49. ?>
    50. 分页示例
    기록 없음
  • < ;?php
  • mysql_free_result($result1);
  • mysql_free_result($result);
  • ?>
  • 코드 복사
  • 성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    이전 기사:fgetcsv로 얻은 배열 요소가 빈 문자열인 경우의 해결 방법다음 기사:fgetcsv로 얻은 배열 요소가 빈 문자열인 경우의 해결 방법

    관련 기사

    더보기