php常用模块-分页显示查询结果
PHP 常用模版-分页显示查询所得结果
要点:
1.统计返回结果数
2.单页显示结果数
创新互联主要业务有网站营销策划、成都做网站、成都网站建设、微信公众号开发、微信小程序开发、H5建站、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、全网整合营销推广资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。
// 根据搜索结果呈现分页效果
//函数1 查询结果总数统计
function build_query($id) {
$search_query = "SELECT DISTINCT * FROM niao WHERE id = $id";
return $search_query;
}
//函数2 此函数基于当前页和页数生成导航页链接
function generate_page_links($id, $cur_page, $num_pages) {
$page_links = '';
// 如果此页不是第一页,则生成“上一页”链接
if ($cur_page > 1) {
$page_links .= '« ';
}
else {
$page_links .= ' ';
}
// 循环浏览生成页码链接的页面
//考虑页数可能太多导致的导航链接层叠 $cur_page 当前页码
if($cur_page<8){//页数少于5就从1~5排列页链接
$i=1;
}
else{
$i= $cur_page-2; //大于5 考虑每页保留前两页链接
}
$c_page = $cur_page;//当前页
$z_page = $c_page+6;//最大呈现页数控制
for ($i; $i <= $num_pages && $c_page<=$z_page; $i++,$c_page++) {
if ($cur_page == $i) {
$page_links .= ''.$i.' ';
}
else {
$page_links .= ' ' . $i . ' ';
}
}
// 如果此页不是最后一页,则生成“下一页”链接
if ($cur_page < $num_pages) {
$page_links .= ' ';
}
else {
$page_links .= ' ';
}
return $page_links;
}
// 主程序部分
//GET验证 返回$id
require_once('get0.php');
// 计算分页信息
//根据获取的$_GET['page']判断页数,如果未获取设定为第一页
$cur_page = isset($_GET['page']) ? $_GET['page'] : 1;
$results_per_page = 15; // 每页结果数
//计算结果页上页第一行行号
$skip = (($cur_page - 1) * $results_per_page);
// 链接数据库
require_once('sql.php');
$dbc = MySQLi_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
or die('Error connecting to MySQL server.');
// 查询获取结果总数
$query = build_query($id);
$result = mysqli_query($dbc, $query);
$total = mysqli_num_rows($result); //统计返回的结果总数
$num_pages = ceil($total / $results_per_page);//总数除以每页结果数,计算得页数,然后对结果向上取整数
//再次查询获取结果子集
$query = $query . " LIMIT $skip, $results_per_page";
$result = mysqli_query($dbc, $query);
while ($row = mysqli_fetch_array($result)) {
#循环显示内容
echo 'xxxx查询结果';
}
// 判断是否需要分页
if ($num_pages > 1) {
echo'';
}
mysqli_close($dbc);
?>
新闻名称:php常用模块-分页显示查询结果
本文路径:http://cdiso.cn/article/gochse.html