zoukankan      html  css  js  c++  java
  • 分页查询

    我们在分页显示的基础上进行分页查询,与其他查询不同,分页查询因为在页面跳转时会刷新页面,所以需要用get传值方式将查询条件与页数传递到跳转的页面。

    这就要用到Page()类的第三个参数$query。

    Page()类在造连接对象时需要四个参数,分别为:

    $total:总记录数,需要从数据库中查询;

    $listRows:可选的,设置每页需要显示的记录数,默认为25条;

    $query:可选的,为向目标页面传递参数,可以是数组,也可以是查询字符串格式;

    $ord: 可选的,默认值为true,页面从第一页开始显示,false则为最后一页。

    <h1>中国行政区域代号表</h1>
    <?php
    //取提交的name值
    $name = "";
    $fytj = "";
    if(!empty($_GET["name"]))
    {
        $name = $_GET["name"];    
        //分页查询条件,只有每次提交的时候才执行,而不是每次刷新页面时执行
        $fytj = "name = {$name} "; 
    }
    //将name作为条件拼在SQL条件语句里面
    $tj = " where AreaName like '%{$name}%' ";  //中间拼接的条件语句,前后都有空格 //若提交的name值为空,则查所有的
    ?>
    <div>
    <form action="" method="get">
        <div>请输入名称: 
        <input type="text" name="name" value="<?php echo $name ?>" />&nbsp;
        <input type="submit" value="查询"  />    
        </div>
    </form>
    </div><br />
    
    <table width="800" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>名称</td>
        <td>父级代号</td>
    </tr>
    <?php
    include("../DB.class.php");
    include("../page.class.php");
    $db = new DB();
    //查询总记录数,需要加查询条件
    $sqlall = "select count(*) from chinastates".$tj;   
    $attrall = $db->Query($sqlall);
    $total = $attrall[0][0];
    //先查出总记录条数放入变量$total,作为Page()的参数
    $pg = new Page($total,15,$fytj,true);    //Page(总记录条数,每页显示的记录条数,分页查询条件,从第一页开始显示)
    $sql = "select * from chinastates ".$tj.$pg->limit;   //SQL语句拼接查询条件,再拼接limit,拼接时注意前后空格
    $attr = $db->Query($sql);
    foreach($attr as $v)
    {
        echo "<tr>
            <td>{$v[0]}</td>
            <td>{$v[1]}</td>
            <td>{$v[2]}</td>
        </tr>";    
    }
    ?>
    </table>
    <div>
    <?php
    //调用分页信息
    echo $pg->fpage();
    ?>
    </div>

    注意:

    1. 查询条件在查询总记录数的时候也要加上
    2. 分页时是通过地址栏中"?page=页数"实现的,这是类自动拼上的
    分页查询条件同样也是在地址栏中拼上"查询关键字",可以是一个条件也可以是多个条件,中间用"&"连接
    例如:http://localhost/0510/fenyechauxn.php?name=京&code=1101&page=2
    这是get传值方式,为了方便,所以提交方式为get。
    若想用post传值方式,则必须分别判断POST值与GET值是否为空
    需要特别主意的是分页后,页面跳转时会刷新页面,所以分页查询条件必须写在判断提交值(即POST值或GET值)是否为空的花括号里面
    这样分页查询条件只有在提交的时候才执行,而不是每次刷新页面时执行。

  • 相关阅读:
    阿里云CentOS 7无外网IP的ECS访问外网(配置网关服务器)
    CentOS 7配置成网关服务器
    Mac/Ubuntu下的数据建模工具PDMan,替代PowerDesigner
    Docker卸载高版本重装低版本后启动提示:driver not supported
    Redis连接出现Error: Connection reset by peer的问题是由于使用Redis的安全模式
    Mac流量监控/硬盘监控小工具
    CentOS 7创建自定义KVM模板(现有KVM迁移到另外一台机)
    vi显示行号
    阿里云与微软云的对照表
    CentOS下安装Jenkins(Docker/war/tomcat/java -jar)
  • 原文地址:https://www.cnblogs.com/xinghun/p/5485442.html
Copyright © 2011-2022 走看看