PHP操作数据库_分页显示信息

1、修改show_html.php,添加分页链接

<?php
//分页链接
$last_page=($page-1)>0?($page-1):1;
$next_page=($page+1)<$max_page?($page+1):$max_page;
$page_html="<a href='./show.php?page=1'>首页</a>&nbsp;";
$page_html.="<a href='./show.php?page=".$last_page."'>上一页</a>&nbsp;";
$page_html.="<a href='./show.php?page=".$next_page."'>下一页</a>&nbsp;";
$page_html.="<a href='./show.php?page=".$max_page."'>尾页</a>&nbsp;";
echo $page_html;
?>

2、修改show.php

//定义每页显示的数据条数
$page_size=2;
//查询表中数据总条数
$sql="select count(*) from `emp_info`";
$res=mysql_query($sql);
$count=mysql_fetch_row($res);//Array ([0] => 4 )即表中数据总条数为4
$count=$count[0];
//计算最大页码值
$max_page=ceil($count/$page_size);
//获取当前访问的页码,并做容错处理
$page=isset($_GET['page'])?intval($_GET['page']):1;
$page=$page<1?1:$page;
$page=$page>$max_page?$max_page:$page;
//limit的第1个参数
$lim=($page-1)*$page_size;

$sql="select * from `emp_info` limit $lim,$page_size";

3、知识点

limit 参数1,参数2

参数1:表示查询数据的起始位置

参数2:表示要获取的数据量

limit的第一个参数=(页码-1)* 每页最大数据条数;

如何动态地获取用户访问的页码值?

为页码链接设置页码参数,通过URL地址将页码值传递给请求的目标文件。页码值被保存在$_GET超全局数组变量中,在目标文件中使用$_GET可以获取当前的页码值。通过数学关系计算得到limit的第1个参数,将参数拼接到sql语句中。

4、分页链接生成函数

一个完善的员工信息展示页,应同时具有排序、搜索、分页等功能。并且各个功能之间可以相互配合,如在某种排序下,同样可以进行分页显示。这种功能的实现,就需要在分页链接中保留排序状态。下面把生成分页链接的代码进行重新编写,将其封装为函数并能够生成保留其他GET信息的分页链接。代码如下:

function makePageHtml($page,$max_page){
    //保持$_GET参数数组,并删除page元素
    $params=$_GET;
    unset($params['page']);
    //将数组转换为$_GET参数字符串
    $params=http_build_query($params);
    if($params){
        $params .= '&';
    }
    //计算下一页
    $next_page=$page+1;
    //判断下一页的页码是否大于最大页码,如果大于则把最大页码赋值给它
    if($next_page>$max_page){$next_page=$max_page;}
    //计算上一页
    $last_page=$page-1;
    //判断上一页的页码是否小于1,如果大于则把1赋值给它
    if($last_page<1){$last_page=1;}
    //重新拼接分页链接的html代码
    $page_html='<a href="?'.$params.'page=1">首页</a>';
    $page_html.='<a href="?'.$params.'page='.$last_page.'">上一页</a>';
    $page_html.='<a href="?'.$params.'page='.$next_page.'">下一页</a>';
    $page_html.='<a href="?'.$params.'page='.$max_page.'">尾页</a>';
    //返回分页链接
    return $page_html;
}

ps:我还不懂这个函数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值