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> ";
$page_html.="<a href='./show.php?page=".$last_page."'>上一页</a> ";
$page_html.="<a href='./show.php?page=".$next_page."'>下一页</a> ";
$page_html.="<a href='./show.php?page=".$max_page."'>尾页</a> ";
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:我还不懂这个函数。