스마트 페이징 예시

WBOY
풀어 주다: 2016-07-25 09:10:30
원래의
1340명이 탐색했습니다.
< /tr>
    1. @session_start();

    2. require_once("smarty.php");//스마트 템플릿 로드 클래스
    3. require_once("adodb/adodb.inc.php");//adodb 데이터베이스 로드

    4. //데이터베이스에 연결

    5. $dbhost = 'localhost'; // 데이터베이스 서버
    6. $dbuser = 'root'; // 데이터베이스 사용자 이름
    7. $dbpwd= 'root'; // 데이터베이스 비밀번호
    8. $dbname='hejia'; 🎜>

      $conn = NewAdoConnection('mysql'); //연결 개체 설정

    9. $conn->Connect($dbhost, $dbuser, $dbpwd, $dbname); Database
    10. $conn->Query("Set Names 'gb2312'"); //mysql_query("SET NAMES GBK");
    11. date_default_timezone_set(PRC)에서 가져옴 //시간을 가져오는 PHP 솔루션; 8시간 차이, php.ini의 date.timezone을 PRC
    12. ?>

    코드 복사홈페이지 색인:

    1. require_once("const.php");

    2. $sql1="ID 선택, hits,title,add_date from oa_art order by id desc"; //SQL 문
    3. $pageSize=4; //페이지당 레코드 수 설정
    4. $sql=$sql1." * ( (empty($_REQUEST['page']) ? 1 : $_REQUEST['page'])-1)).", ".$pageSize;
    5. $news_array=$conn->getall($ sql) ;
    6. $news_array1=$conn->getall($sql1);
    7. $page_url="index.php"; //페이지 URL 주소
    8. $totalnumber=count($news_array1); /총 레코드 수 가져오기
    9. $midPage=5; //디지털 내비게이션 링크 수
    10. page();// 페이징 기능 호출

    11. for ($i = 0 ; $i <=ceil($totalnumber/$pageSize); $i ) $page_option[] = $i;//페이지가 매겨진 드롭다운 목록 배열 생성

    12. $smarty->ass("page_option", $page_option);< /p>
    13. $smarty->할당("news_data",$news_array);

    14. $smarty->할당("mytitle","회사 웹사이트 홈페이지" );
    15. $ smarty->display("tpl.htm",$page);
    16. ?>

    코드 복사

    페이징 기능:

    1. 함수 페이지()

    2. {
    3. 전역 $smarty,$start, $page_url,$pageSize,$midPage,$totalnumber;
    4. $total = $totalnumber ; //총 레코드 개수 가져오기
    5. $totalPage = ceil($total/$pageSize); 페이지 수
    6. $currentPage=@$_REQUEST['page'] 0; //현재 페이지
    7. if(!is_numeric($currentPage) || $currentPage < 1 || 비어 있음($currentPage) || $ currentPage > $ totalPage)
    8. $currentPage=1; //현재 페이지 초기화
    9. $url = preg_replace(array("!(([&]|^)(page)[=]?([^ &] )?) |((([&]){2,})|(^[&])|([&]$))!",),array(""),$_SERVER["QUERY_STRING" ]); // 주소를 설정하고
    10. 를 정규 표현식으로 바꿉니다. $url.=($url?"&":"").'page' // 추가
    11. $start = ($currentPage-1 )*$pageSize;
    12. $back = $currentPage > 1?"n":"";
    13. $next = $currentPage < $totalPage ?">n":"";
    14. $first = $currentPage > 1?" 홈페이지n":"";
    15. $last = $currentPage < $totalPage?"< a href=" ?$url=$totalPage">마지막 페이지n":"";

    16. // 탐색 링크

    17. $midPages = '';
    18. $num = $currentPage-floor($midPage/2);
    19. if($num > 0)
    20. {
    21. if(($totalPage- $num) < $midPage)
    22. {
    23. $tmp = $totalPage - $midPage;
    24. $num = $tmp< 0 ? 1 : $tmp;
    25. }
    26. }else $ num = 1 ;
    27. for($i=1; $i<=$midPage;$i ,$num )
    28. {
    29. if($num > $totalPage) break;
    30. $midPages .= ( $num == $currentPage) ? '['.$num.'] ' : " ".$ num." ";
    31. }
    32. $smarty->ass("page_total",$total); // 합계
    33. $smarty-> ;할당( "page_currentPage",$currentPage); // 현재 페이지 번호
    34. $smarty->ass("page_totalPage",$totalPage); // 총 페이지 수
    35. $smarty-> "page_back",$ back); // 이전 페이지
    36. $smarty->ass("page_next",$next); // 다음 페이지
    37. $smarty->ass("page_first",$first) ); / / 홈페이지
    38. $smarty->ass("page_last",$last); // 마지막 페이지
    39. $smarty->ass("page_midPages",$midPages);
    40. $ smarty->sign("page_url",$page_url); // 현재 페이지 주소
    41. }
    42. ?>

    코드 복사

    tpl.htm:

    1. <{$mytitle}>
    2. <{섹션 이름 =nloop loop=$news_data}>
    3. ">
    4. < ;td><{$news_data[nloop].add_date|date_format:"%Y-%m-%d"}>
    5. <{sectionelse}>
    6. <{/section}>
    7. 标题 发布日期 点击次数
      < ;a href="표시<{$news_data[nloop].id}>.htm"><{$news_data[nloop].title}> <{$news_data[nloop]. 조회수}<
      对不起,没有任何新闻输入!
    8. <테이블 너비="100% " border="0" cellpadding="0" cellpacing="0">
    9. 共<{$page_total}>条 
    10. 第<{$page_currentPage}>/<{ $page_totalPage}>页 
    11. <{$page_first}>
    12. <{$page_back}>
    13. <{$page_midPages}>
    14. <{$page_next}>
    15. <{$page_last}>
    16. 转到
    17. <{html_options options=$page_option selected=$page_currentPage}>
  • <{include file="bottom.htm"}>
  • 제제대码


    관련 라벨:
    원천:php.cn
    이전 기사:PHP 함수를 사용하여 XML 파일을 읽는 예 다음 기사:PHP JSON을 배열로
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    최신 이슈
    관련 주제
    더>
    인기 추천
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿