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值)是否为空的花括号里面
    这样分页查询条件只有在提交的时候才执行,而不是每次刷新页面时执行。

  • 相关阅读:
    电子招投标应用系统连载(一)-开标系统
    js实现一个简单钟表动画(javascript+html5 canvas)
    ,net core mvc 文件上传
    echarts显示X轴最后一个lable
    C# 解压gzip文件(.tgz)
    【转】C#计算两坐标点距离
    用file标签实现多图文件上传预览
    c#数据批量插入
    Asp.net 中ViewState,cookie,session,application,cache的比较
    ASP.NET MVC从请求到响应发生了什么
  • 原文地址:https://www.cnblogs.com/xinghun/p/5485442.html
Copyright © 2011-2022 走看看