>  기사  >  백엔드 개발  >  PHP는 Mysqli 클래스 라이브러리를 사용하여 완벽한 페이징 효과를 얻습니다.

PHP는 Mysqli 클래스 라이브러리를 사용하여 완벽한 페이징 효과를 얻습니다.

PHPz
PHPz원래의
2016-05-16 19:54:322208검색


이 기사의 예에서는 PHP가 Mysqli 클래스 라이브러리를 사용하여 완벽한 페이징 효과를 얻는 방법을 설명합니다. 다음과 같이 참조용으로 모든 사람과 공유하십시오.

권장되는 관련 mysql 비디오 튜토리얼: "mysql 튜토리얼"

FetchAll 메소드를 사용하는 방법 M 클래스 라이브러리 완벽한 페이지 매김을 만듭니다.

페이지 매김은 우리 프로젝트마다 필수적이며 매우 자주 나타납니다. 이를 위해서는 프로그래머가 프로젝트에서 가장 빠른 속도와 가장 간결한 코드로 페이징 솔루션을 구현해야 합니다.

페이징 구현은 대부분 URL(일반적으로 페이지)에 전달된 매개변수를 기반으로 합니다. 예를 들어 http://localhost/article.php?page=2는 두 번째 페이지 데이터를 가져오는 것을 의미합니다

추천: 이 글을 읽으실 때, 저의 지난 글 "PHP 데이터베이스 연산: Mysqli 기반의 데이터베이스 연산 클래스 라이브러리"를 꼭 읽어보시기 바랍니다.

아래에서는 M 클래스 라이브러리를 사용하겠습니다. 페이징, 블로그 게시물에 나타나는 코드, 테스트 데이터베이스 파일을 포함한 마지막 다운로드 주소.

1. config.inc.php 구성 파일을 생성합니다

코드 목록은 다음과 같습니다

<?php
header(&#39;Content-Type:text/html;Charset=utf-8&#39;); //设置header编码
define(&#39;ROOT_PATH&#39;, dirname(__FILE__)); //设置根目录
define(&#39;DB_HOST&#39;, &#39;localhost&#39;); //数据库服务器地址
define(&#39;DB_USER&#39;, &#39;root&#39;); //数据库用户名
define(&#39;DB_PWD&#39;, &#39;×××&#39;);//数据库密码,请根据机器填写
define(&#39;DB_NAME&#39;, &#39;×××&#39;); //数据库名称,请根据机器填写
define(&#39;DB_PORT&#39;, &#39;3306&#39;); //数据库端口,请根据机器填写
function __autoload($className) {
  require_once ROOT_PATH . &#39;/includes/&#39;. ucfirst($className) .&#39;.class.php&#39;; //自动加载类库文件
}
?>

2 , 정보 테스트 파일 Article.php 생성

참고: CSS 능력이 제한되어 기능을 시연하기 위해 간단한 HTML만 사용했습니다.
코드 목록과 댓글은 다음과 같습니다

<?php
require &#39;config.inc.php&#39;; //引入配置文件
$m = new M(); //实例化 M 类
$total = $m->Total(&#39;jzy_article&#39;); //资讯文章总数
$page = new Page($total, 20); //实例化分页类
/*
注意事项:
1、实例分页 Page 类的时候,需要传两个参数:记录总数;每页显示的记录数。
2、当传入参数后,Page 类中有个setLimit()方法会自动计算出 SQL 中的 limit 值。比如:URL 参数中 page 为1的时候,limit 值为“0,20”;为2的时候,limit 值为“20,20”……
3、计算出来的 $page->limit,必须放在 FetchAll 方法中的最后一位,详情请查看 FetchAll 方法
*/
$data = $m->FetchAll("jzy_article", "title, source, writer, pubdate", "", "id DESC", $page->limit); //根据 M 类库中的 FetchAll 方法获取数据
?>
<style>
/* 分页样式 */
#page {text-align:right;  padding:10px;clear:both;}#page a {border:1px solid #666;padding:2px 5px;margin:0 2px;color:#3b6ea5;text-decoration:none;}#page a:hover,#page span.me {color:#fff;border:1px solid #000;background:#000;text-decoration:none;}#page span.disabled {border:1px solid #ccc;padding:2px 5px;margin:0 2px;color:#ccc;}#page span.me {padding:2px 5px;margin:0 2px;}
</style>
<table width="1000" border="1" style="border-collapse:collapse; font-size:13px;">
<tr height="30">
  <th width="483">标题</th>
  <th width="141">来源</th>
  <th width="154">作者</th>
  <th width="194">添加时间</th>
</tr>
<?php
foreach ($data as $v) { //循环取出数据
?>
<tr>
  <td> <?php echo $v[&#39;title&#39;]; ?></td>
  <td align="center"><?php echo $v[&#39;source&#39;]; ?></td>
  <td align="center"><?php echo $v[&#39;writer&#39;]; ?></td>
  <td align="center"><?php echo $v[&#39;pubdate&#39;]; ?></td>
</tr>
<?php
}
?>
<tr>
  <td id="page" colspan="4"><?php echo $page->fpage(); ?></td> <!-- 调出分页类 -->
</tr>
</table>

3. 테스트 효과 접속

브라우저를 열고 브라우저에 있어야 하는 테스트 URL 주소를 입력합니다. 다음 효과

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.


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