찾다
백엔드 개발PHP 튜토리얼PHP 페이징 클래스 코드, 사용자 정의 가능한 매개변수 PHP 페이징 코드

  1. class PageLink {

  2. /* 페이징 표시 매개변수 설정*/
  3. private $db_table = "";
  4. private $db_table_field = ""; //표시할 데이터베이스의 필드
  5. private $condition = ""; //쿼리 조건
  6. private $sort = "" //정렬 조건
  7. private $page_size = 0; //각 페이지에 표시되는 레코드 수
  8. private $link_num = 0; //표시되는 페이지 번호 링크 수
  9. private $page = 1 //현재 페이지 번호
  10. private $records = 0 ; // 테이블의 총 레코드 수
  11. private $page_count = 0; //총 페이지 수
  12. private $pagestring = "" //
  13. private $linkUrl = ""; //현재 페이지 경로
  14. private $urlPara = ""; //현재 페이지 url 매개변수
  15. private $linkUrlNum = 1;
  16. /*
  17. * 사용자 정의 페이징
  18. */
  19. private $linkFormat = " ";
  20. /* 가져온 데이터*/

  21. private $page_data = "";//데이터베이스에서 가져온 데이터,
  22. //$page_data를 2차원 배열로 받았습니다

  23. private $dbHelper;

  24. /* 변수 정의 부분 end */
  25. /* 함수 정의(클래스 메소드) 시작 */

  26. function __construct() {include_once 'DBHelper/DBHelper.php';//데이터베이스입니다 연산 클래스

  27. $this- >dbHelper = new DBHelper();
  28. }
  29. /*

  30. * 페이징 정보 설정 시작
  31. * @param $ db_table 테이블
  32. * @param $db_table_field 필드
  33. * @param $condition 조건
  34. * @param $sort 정렬
  35. * @param $page_size 표시 번호
  36. * @param $link_num 숫자 개수 links
  37. * @param $url 페이지 경로
  38. * @param $para url 매개변수
  39. */
  40. 공용 함수 집합($db_table, $db_table_field, $condition, $sort, $page_size, $link_num , $url, $para) {
  41. $this->db_table = $db_table;//테이블 이름
  42. $this->db_table_field = $db_table_field; //필드 배열,
  43. $this-> ;condition = $condition; //정렬 조건
  44. $this->sort = $sort; //정렬 조건
  45. //표시할 필드 이름
  46. //배열에 쓰기
  47. / * db 파라미터 설정 종료 */< ;/p>
  48. /* 페이징 파라미터 설정 시작 */

  49. $this->page_size = $page_size;//각 페이지에 표시되는 레코드 수
  50. $this->link_num = $link_num;//페이지 넘김 링크 수 표시
  51. $this->linkUrl = $url;
  52. $this->urlPara = $para;
  53. /* 페이징 매개변수 설정 end */
  54. }
  55. /* 페이징 정보 설정 end */

  56. /* 페이징 링크 가져오기 데이터 시작 */

  57. public function get() {

  58. $page_data[0] = $this->pagestring;
  59. $page_data[1] = $this- >page_data;
  60. return $page_data;
  61. }
  62. /* 페이지 매기기 링크 데이터 가져오기 end */

  63. /* 페이지 번호 처리 시작 */

  64. private function set_page() {

  65. if (isset($_REQUEST["page"])) {
  66. $this->page = intval($_REQUEST["page"]);
  67. } else {
  68. $this->page = 1;
  69. }
  70. }
  71. /* 페이지 번호 처리 끝 */

  72. /* DB의 레코드 수 가져오기 시작 */

  73. private function get_records() {

  74. $this->records = $this-> ;dbHelper->counts($this->db_table, $this->condition);
  75. }
  76. /* dbend의 레코드 수 가져오기 */
  77. /* 페이지 링크 문자열 만들기 시작 */

  78. 개인 함수 page_link( ) {

  79. $checkPage = intval($this ->page / $this->link_num);
  80. $startPage = 1;
  81. $stopPage = 1;
  82. if($checkPage == 0 && $this->페이지 link_num){
  83. $startPage = 1;
  84. }
  85. $linkPage = ($this->link_num / 2);
  86. if($this->page > $linkPage ){
  87. $startPage = $this->page - $linkPage;
  88. }
  89. if(($startPage $this->link_num)> ;$this->page_count){
  90. $startPage = $this->page_count - $this->link_num 1;
  91. }
  92. if($startPage$startPage = 1;
  93. }
  94. $stopPage = $startPage ($this->link_num - 1);
  95. if($stopPage> $this->page_count){
  96. $stopPage = $this ->page_count;
  97. }
  98. $countStr = "共".$this->records."條記錄";
  99. $currStr = "".$this->page."/" .$this->page_count."頁 ";
  100. $beginLink = "首頁";
  101. $preLink = "上一頁";
  102. $nextLink = "下一頁";
  103. $noPreLink = "上一頁 ";
  104. $noNextLink = "下一頁";
  105. $endLink = "尾頁";
  106. if($this->page > ($linkPage 1) && $this- >page_count > $this->link_num){
  107. $currPage .= "1";
  108. }
  109. for($i=$startPage;$iif($i == $this-> ;페이지){
  110. $currPage .= "".$i."";
  111. }
  112. else{
  113. $currPage . = "".$i."";
  114. }
  115. }
  116. if(($this->page_count - $this->page) > $linkPage && $this->page_count > $this->link_num){
  117. $currPage .= "...".$this->page_count."";
  118. }
  119. $jumpPage .= "< ;입력 유형='텍스트' id='page_text_".$this->linkUrlNum.
  120. "' onmouseover='select();' size='1' maxlength='4' onkeyup="this.value=this.value.replace(/\D /g,'');" /> ";
  121. $jumpPage .= "< ;입력 유형='버튼' onclick="window.location.href='".$this->linkUrl
  122. ."?page=' document.getElementById('page_text_".$this->linkUrlNum." ').value '".$this->urlPara
  123. ."'" name='page_submit' value='GO' />";
  124. $this->linkUrlNum ;
  125. if( !empty($this->linkFormat)){
  126. $tempLinkFormat = $this->linkFormat;
  127. $tempLinkFormat = str_replace("總記錄", $countStr, $tempLinkFormat);
  128. $tempLinkFormat = str_replace("頁次", $currStr, $tempLinkFormat);
  129. if($this->page_count > 1){
  130. $tempLinkFormat = str_replace("首頁", $beginLink, $tempLinkFormat);
  131. if($this->page > 1){
  132. $tempLinkFormat = str_replace("上一頁", $preLink, $tempLinkFormat);
  133. }
  134. else{
  135. $ tempLinkFormat = str_replace("上一頁", $noPreLink, $tempLinkFormat);
  136. }
  137. if($this->page page_count){
  138. $tempLinkFormat = str_replace( "下一頁", $nextLink, $tempLinkFormat);
  139. }
  140. else{
  141. $tempLinkFormat = str_replace("下一頁", $noNextLink, $tempLinkFormat);
  142. }
  143. $tempLinkFormat = str_replace("尾頁", $endLink, $tempLinkFormat);
  144. $tempLinkFormat = str_replace("分頁", $currPage, $tempLinkFormat);
  145. $tempLinkFormat = str_replace("跳轉", $jumpPage , $tempLinkFormat);
  146. }
  147. else{
  148. $tempLinkFormat = str_replace("首頁", "", $tempLinkFormat);
  149. $tempLinkFormat = str_replace("上一頁", "", $tempLinkFormat);
  150. $tempLinkFormat = str_replace("下一頁", "", $tempLinkFormat);
  151. $tempLinkFormat = str_replace("尾頁", "", $tempLinkFormat);
  152. $tempLinkFormat = str_replace("分頁", "", $tempLinkFormat);
  153. $tempLinkFormat = str_replace("跳轉", "", $tempLinkFormat);
  154. }
  155. }

  156. $this->pagestring.=$countStr." ".$currStr;
  157. if($this->page_count > 1){
  158. $this->pagestring.=$beginLink;
  159. if($this->page > 1){
  160. $this->pagestring.=$preLink;
  161. }
  162. $this->pagestring.=$currPage;
  163. if($this->page page_count){
  164. $this->pagestring.=$nextLink;
  165. }
  166. $this->pagestring.=$endLink.$jumpPage;
  167. }
  168. }
  169. /* 페이지 넘김 링크 문자열 만들기 end */

  170. /* 데이터 가져오기 시작 */

  171. 비공개 함수 fetch_data() {

  172. if ($this->records) {
  173. $limit = ($this->page - 1) * $this->page_size ",$ this->page_size";
  174. $this->page_data = $this->dbHelper->fetch($this->db_table, $this->condition, $this->sort, $ 제한);
  175. }
  176. }
  177. /* 데이터 가져오기 끝 */

  178. /* 페이징 만들기 시작 */< ;/p>

  179. 공용 함수 create_page() {

  180. $this->set_page();
  181. $this->get_records();
  182. $this->page_count = ceil($this->records / $this->page_size);
  183. $this->page_link();
  184. $this->fetch_data();
  185. }> ;
  186. /* 페이지 매김 생성 end */

  187. function __destruct() {

  188. }

  189. /* 함수 정의(클래스 메소드) end */

  190. }
  191. /*
  192. 호출 메소드
  193. include_once 'PageLink.php';
  194. $pageLink = new PageLink (); //인스턴스화된 객체
  195. $pageLink->set("table", "*(또는 필드)", "조건", "정렬", "데이터 항목 수", "페이지당 링크 수 " , "페이지(list.php)", "?page=1 (&id=1&name=test)"를 제외한 기타 매개변수");//수신 매개변수
  196. $pageLink->create_page();//페이징 생성
  197. $list = $pageLink->get();//데이터 가져오기
  198. echo $list[0];//페이징 링크
  199. print_r($list[1]) //데이터 인쇄, 또는 필요에 따라 반복
  200. */
코드 복사


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP : 서버 측 스크립팅 언어 소개PHP : 서버 측 스크립팅 언어 소개Apr 16, 2025 am 12:18 AM

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP 및 웹 : 장기적인 영향 탐색PHP 및 웹 : 장기적인 영향 탐색Apr 16, 2025 am 12:17 AM

PHP는 지난 수십 년 동안 네트워크를 형성했으며 웹 개발에서 계속 중요한 역할을 할 것입니다. 1) PHP는 1994 년에 시작되었으며 MySQL과의 원활한 통합으로 인해 개발자에게 최초의 선택이되었습니다. 2) 핵심 기능에는 동적 컨텐츠 생성 및 데이터베이스와의 통합이 포함되며 웹 사이트를 실시간으로 업데이트하고 맞춤형 방식으로 표시 할 수 있습니다. 3) PHP의 광범위한 응용 및 생태계는 장기적인 영향을 미쳤지 만 버전 업데이트 및 보안 문제에 직면 해 있습니다. 4) PHP7의 출시와 같은 최근 몇 년간의 성능 향상을 통해 현대 언어와 경쟁 할 수 있습니다. 5) 앞으로 PHP는 컨테이너화 및 마이크로 서비스와 같은 새로운 도전을 다루어야하지만 유연성과 활발한 커뮤니티로 인해 적응력이 있습니다.

PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택Apr 16, 2025 am 12:16 AM

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.

신화를 폭로 : PHP가 실제로 죽은 언어입니까?신화를 폭로 : PHP가 실제로 죽은 언어입니까?Apr 16, 2025 am 12:15 AM

PHP는 죽지 않았습니다. 1) PHP 커뮤니티는 성능 및 보안 문제를 적극적으로 해결하고 PHP7.x는 성능을 향상시킵니다. 2) PHP는 최신 웹 개발에 적합하며 대규모 웹 사이트에서 널리 사용됩니다. 3) PHP는 배우기 쉽고 서버가 잘 수행되지만 유형 시스템은 정적 언어만큼 엄격하지 않습니다. 4) PHP는 컨텐츠 관리 및 전자 상거래 분야에서 여전히 중요하며 생태계는 계속 발전하고 있습니다. 5) Opcache 및 APC를 통해 성능을 최적화하고 OOP 및 설계 패턴을 사용하여 코드 품질을 향상시킵니다.

PHP vs. Python 토론 : 어느 것이 더 낫습니까?PHP vs. Python 토론 : 어느 것이 더 낫습니까?Apr 16, 2025 am 12:03 AM

PHP와 Python에는 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구 사항에 따라 다릅니다. 1) PHP는 웹 개발, 배우기 쉽고 풍부한 커뮤니티 리소스에 적합하지만 구문은 현대적이지 않으며 성능과 보안에주의를 기울여야합니다. 2) Python은 간결한 구문과 배우기 쉬운 데이터 과학 및 기계 학습에 적합하지만 실행 속도 및 메모리 관리에는 병목 현상이 있습니다.

PHP의 목적 : 동적 웹 사이트 구축PHP의 목적 : 동적 웹 사이트 구축Apr 15, 2025 am 12:18 AM

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP : 데이터베이스 및 서버 측 로직 처리PHP : 데이터베이스 및 서버 측 로직 처리Apr 15, 2025 am 12:15 AM

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

PHP에서 SQL 주입을 어떻게 방지합니까? (준비된 진술, pdo)PHP에서 SQL 주입을 어떻게 방지합니까? (준비된 진술, pdo)Apr 15, 2025 am 12:15 AM

PHP에서 전처리 문과 PDO를 사용하면 SQL 주입 공격을 효과적으로 방지 할 수 있습니다. 1) PDO를 사용하여 데이터베이스에 연결하고 오류 모드를 설정하십시오. 2) 준비 방법을 통해 전처리 명세서를 작성하고 자리 표시자를 사용하여 데이터를 전달하고 방법을 실행하십시오. 3) 쿼리 결과를 처리하고 코드의 보안 및 성능을 보장합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기