微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php实现记录分页的思路是什么

PHP实现记录分页的思路:1、获取结果集中的记录数;2、设置每页显示记录的数量;3、获取页面数量;4、控制每页显示的记录数;5、通过传递参数的方式通知脚本程序显示页码即可。

本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

PHP实现记录分页的思路是什么?

PHP+MysqL 实现数据分页显示

  • 获取结果集中的记录数 可以在SELECT语句中使用COUNT()函数获取结果集中的记录数量

  • 设置每页显示记录的数量 假定使用变量$PageSize来保存每页显示记录的数量,它的值由 用户根据需要自行设置,可以直接通过赋值语句来实现。

  • 获取页面数量 可以通过$RecordCount$PageSize两个数据计算得到总页面数量$PageCount

  • 如何显示第n 页中的记录虽然使用 PageSize属性可以控制每页显示的记录数,但是要 显示那些记录呢?可以在SELECT语句中使用LIMIT子句指定查询记录的范围, 其 使用方法如下: SELECT * FROM 表名 LIMIT起始位置, 显示记录数量例如,要获取$Page 页 中的记录,可以使用下面的语句:SELECT * FROM 表名LIMIT ($Page- 1) * $ PageSize, $ PageSize

  • 如何通知脚本要显示页码可以通过传递参数的方式通知脚本程序显示页码。假定分页显记录的脚本为 viewPage. PHP,传递参数的链接如下:http:// localhost/ viewPage. PHP? page= 2 参数page用来指定当前的页码。在viewPage. PHP中,使用下面的语句读取参数:

<!doctype html>
<html>
<head>
    <Meta charset=utf-8 />
    <title>Document</title>
</head>
<body>
    <?PHP 
    header(content-type:text/html;charset=utf-8);
        //获取当前页码
        $page=$_GET['page'];
        if($page==0){
            $page=1;
        }
        //设置每页最大能显示数量
        $pagesize=3;

        //连接数据库
        $conn=MysqL_connect(localhost,root,root);
        MysqL_select_db(test);
        MysqL_query(set names utf-8);
        if(!$conn){
            die(MysqL_connect_Failed.MysqL_connect_error());
        }
        else 
            echo(connected succeed.<br />);
        //获取结果集的记录数
        $row=MysqL_fetch_row(MysqL_query(select count(1) from clerk));
        $recordcount=$row[0]; 




        //计算总页数
        if($recordcount==0)
            $pagecount=0;
        else if($recordcount<$pagesize ||$recordcount==$pagesize){
                $pagecount=1;
                //如果 记录 总数 量小 于 每页 显示 的 记录 数量, 则 只有 一页
            }
        else if($recordcount%$pagesize==0){
                $pagecount=$recordcount/$pagesize;
                //如果 没有 余数, 则 页数 等于 总 记录 数量 除以 每页 显示 记录 的 数量
            }
        else 
                $pagecount=(int)($recordcount/$pagesize)+1;
                //取 记录 总数 量 不能 整除 每页 显示 记录 的 数量,
                // 则 页数 等于 总 记录 数量 除以 每页 显示 记录 数量 的 结果 取整 再加 1

        echo(当前页码:.$page./.$pagecount.<br />);

    ?>

    <table width=449 border=1>
        <tr>
            <td>员工姓名</td>
            <td>职务</td>
            <td>薪水</td>
        </tr>
    <?PHP 
    //循环显示当前页面的记录
    header(content-type:text/html;charset=utf-8);
    echo $page;
    //$sql=select * from clerk limit .($page-1)*$pagesize.,.$pagesize;  //$page为当前页码
    $sql=($page-1)*$pagesize;
    $result=MysqL_query(select * from clerk limit {$sql},{$pagesize});
    while($row=MysqL_fetch_row($result))
    {   

        echo(<tr />);
        echo(<td>$row[0]</td>);
        echo(<td>$row[2]</td>);
        echo(<td>$row[3]</td>);
        echo(<tr />);
    }
    MysqL_close($conn);

    //显示分页链接
    if($page==1){
        echo(第一页);
    }
    else
        echo(<a href=viewpage.PHP?page=1>第一页</a>);
        //设置上一页连接

    if($page==1){
         echo(上一页);
    }
    else 
        echo(<a href=viewpage.PHP?page=.($page-1).>上一页</a>);

        //设置下一页链接
    if($page==$pagecount){
        echo(下一页);
    }
    else 
        echo(<a href=viewpage.PHP?page=.($page+1).>下一页</a>);
    //设置最后一页
    if($page==$pagecount){
        echo(最后一页);
    }
    else 
        echo(<a href=viewpage.PHP?page=.$pagecount.>最后一页</a>);
    ?>
    </table>
</body>
</html>

这里写图片描述

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐