php 分页查询

1.首先要有显示的内容:

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
</head>

<body>

<h1>分页</h1>

<table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>地区代号</td>
        <td>地区名称</td>
        <td>父级代号</td>
    </tr>
复制代码
 <?php
    include ("db.class.php");
    $db = new db();
    $sql = "select * from chinastates ";
$arr = $db->Query($sql);//默认=1可以不写
    foreach($arr as $v)
    {
        echo "<tr>
        <td>{$v[0]}</td>
        <td>{$v[1]}</td>
        <td>{$v[2]}</td>
    </tr>";
    }
    ?>
复制代码
</table>
</body>
复制代码

图:

2.引用page.class.php分页工具造对象,把总数查出来吧:

复制代码
 include ("page.class.php");
//查总条数
$sz = "select count(*) from chinastates";
$az = $db->Query($sz);

//1.造对象
$page = new page($az[0][0],10);
//一般只写两个参数,第一个数据的总条数
//取两个索引0:先取索引0二维数组,取到一位数组后取索引0
//第二个参数,显示10条


$sql = "select * from chinastates ".$page->limit;
//2.直接在sql语句后面拼接上$page(分页类)里面的limit,就可以完成分页
$arr = $db->Query($sql);//默认=1可以不写
复制代码

3.输出:

<?php
//3.输出分页信息
echo $page->fpage();
//分页对象中的fpage()方法
?>

总代码:

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>无标题文档</title>
</head>
<body>
<h1>分页查询</h1>
<table border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>地区代号</td>
        <td>地区名称</td>
        <td>父级代号</td>

    </tr>
    <?php
    include ("DBDA.class.php");
    //引用封装类
    $db = new db();
    //造对象
    include "page.class.php";
    //引用page工具
    $aall = "select count(*) from chinastates";
    //查询所有数据
    $arr = $db->Query($aall);
    //调用sql,返回一个数组,
    $page = new page($arr[0][0],10);
    //page类对象,每页显示10条
    $sql = "select * from chinastates ".$page->limit;
    //分页查询,page类调用limit
    $ar = $db->Query($sql);
    //执行,并返回一个数组(数据)
    foreach ($ar as $v)
    //遍历
    {
        echo" <tr>
        <td>{$v[0]}</td>
        <td>{$v[1]}</td>
        <td>{$v[2]}</td>

    </tr>
        ";
    }

//显示

    ?>

</table>
<div>
    <?php
    echo $page->fpage();
//直接输出page类里面的fpage()(输出分页信息)
    ?>
</div>
</body>
</html>
复制代码

最后的完成图:

4.分页查询 

查询关键字,在本页分页显示!

首先form表单:

复制代码
<form action="fenyechaxun.php" method="get">
    //提交给当前页面,用get传递
<div>
    输入地区名称模糊查询:
    <input type="text" name="area"/>
    <input type="submit" value="查查查"/>
</div>
</form>
复制代码

分页查询的条件

复制代码
$tj = "1 = 1 ";
    //条件恒变量
    if(!empty($_GET["area"]))
    //判断传过来的是否非空
    {
        $r = $_GET["area"];
        //为了防止双引号有冲突,给变量
        $tj = "areaname like '%{$r}%' ";
        //条件改变
    }
复制代码

查询语句也需要改变一下:

 $aall = "select count(*) from chinastates WHERE {$tj}";
    //查询所有数据
  $sql = "select * from chinastates WHERE {$tj} ".$page->limit;
    //分页查询,page类调用limit

输出:

<div>
    <?php
    echo $page->fpage();
//直接输出page类里面的fpage()(输出分页信息)
    ?>
</div>

上图:

查询的数据也是以分页的形式:

 

代码:

 View Code

转自:http://www.cnblogs.com/xuan584521/

原文地址:https://www.cnblogs.com/yyy251/p/6492954.html