[email protected]   15826058953
B2B外贸网站建设与运营,WEB服务器运维,始于2016。

php mysqli 原始分页源码

2020-07-05     重庆LiSEO工作室    

PHP MySQLi 分页主页面index.php的程序源码

<?php
//引入连接数据库代码
require_once 'public/conn.php' ;        

$url='index.php';		//设置分页时页面地址
$sql="select count(*) from `tablename`";		//查询总记录数目
$result=$conn->query($sql);         //执行sql查询语句
$pageres=$result->fetch_row();      //查询总记录条数
$totalrows=$pageres[0];        //将总记录数值赋值给$totalpages
if($totalrows>0){            //如果结果集中记录数目大于0,表示从数据库中取出有记录,则开始设置分页信息
    $pagesize=3;       //设置每页分页数为10
    $totalpages= intval($totalrows / $pagesize);    //获取分页数整数
    if($totalrows % $pagesize >0){        //如果分页计算结果余数大于0,则分页总数要加1
        $totalpages=$totalpages +1;   
    }
    if(isset($_GET["page"])){       //获取当前分页数
        $page=intval($_GET["page"]);		//获取分页值时,只获取整数部分,包括恶意参数
        if($page<1){
            $page=1;
        }
        if($page>$totalpages){ $page=$totalpages; }       //如果获取的分类数大于分页总数,则将分页设置与总分页数相等
    } else {        //没有获取到分页值,则将分页数设置为1
        $page=1;
    }
    $offset=$pagesize * ($page-1); //设定从第几页开始查询
    $sql="select * from `tablename`  limit $offset,$pagesize";		//分页语句
    $rs=$conn->query($sql);
    $array=$rs->fetch_all(MYSQLI_ASSOC);
	
    //设置具体分页码
    $first=1;       //设置首页
    $prev=$page-1;      //设置上一页
    $next=$page+1;      //设置下一页
    $last=$totalpages;       //设置末页
} else {           //如果没有取出记录,则给数组$array赋值一个空值,以防止模板中使用变量$array报错
    $array=array();
}

//调用index.html模板
require_once 'view/index.html';       
?>

模板index.html中需要用到的分页源码

<?php 
if(!empty($array)){		//显示分页码前先判断下当前的数组是否为空
	echo "共有 $totalpages 页( $page / $totalpages )";
    if($page>1){   //表示为当前页不是首页
        echo "<a href='$url?page=$first'>首页</a>";
        echo "<a href='$url?page=$prev'>上一页</a>";
    }
    for($j=1;$j<$page;$j++){        //遍历出当前页之前的具体数字页码
            echo "<a href='$url?page=$j'>[$j]</a>";
    }
    echo $page;     //输出当前的分页码
    for($j=$page+1;$j<=$totalpages;$j++){        //遍历出当前页之后的具体数字页码
        echo "<a href='$url?page=$j'>[$j]</a>";
    }
    if($page<$totalpages){       //表示当前页不是末页
        echo "<a href='$url?page=$next'>下一页</a>";
        echo "<a href='$url?page=$last'>末页</a>";
    }
}
?>