15621857753

PHP+MYSQL开发文章列表页分页功能

来源:齐鲁建站 栏目:开发教程 阅读: 日期:2023-01-16

PHP+MYSQL开发文章列表页分页功能

/*
 * 分页查询功能
 */

$num = 6; //每页显示数量
$page = isset($_GET['p']) ? $_GET['p'] : 1; //判断有没有ID,有就输出,没有就是第1页

//如果当前已经是首页
if ($page <= 1) {
    $page = $page + 1;
}

//计算显示偏移量(共多少页,每页多少量,计算出偏移量)
$offset = ($page - 1) * $num;

//连接数据库
$conn = mysqli_connect('localhost','root','root','myblog');
//查询条件
$sql = "SELECT id,title,create_time FROM blog_article limit {$offset},{$num}";
//查询结果集
$result = mysqli_query($conn,$sql);
//查询文章列表
if(mysqli_num_rows($result) > 0){

    //获取表中记录总数
    if ($tempRes = mysqli_query($conn, "SELECT count(*) as count FROM blog_article")){
        $row = mysqli_fetch_assoc($tempRes);
        $count = $row['count'];
    }

    //遍历文章列表
    echo '<h2 align="center">文章列表</h2>';
    echo '<table align="center" border="1" cellspacing="0" cellpadding="5" width="50%">';
    echo '<tr bgcolor="#87ceeb"><th>ID</th><th>标题</th><th>创建时间</th></tr>';
    foreach($result as $row){
        echo '<tr>';
        echo '<td>'. $row['id']. '</td>';
        echo '<td>'. $row['title']. '</td>';
        echo '<td>'. date('Y-m-d',$row['create_time']). '</td>';
        echo '</tr>';
    }
    echo '</table>';

    mysqli_free_result($result);//释放结果集
    mysqli_close($conn); //关闭连接
}else{
    echo '没有数据';
}

/*
 * 如果到尾页,就不再后跳
 * 总页数=总记录数/每页显示的数量
 */
$total = ceil($count / $num); //向上取整
if ($page>=$total){
    $page = $total-1;
}

echo '<p align="center" class="pages">';
echo '<a href="?p='.'1'.'" style="margin:0 5px;">首页</a>';
echo '<a href="?p='.($page-1).'" style="margin:0 5px;">上一页 </a>';
for($p=1;$p<$total;$p++){
    echo '<a href="?p='.$p.'" style="margin:0 5px;">'.$p.'</a>';
}
echo '<a href="?p='.($page+1).'" style="margin:0 5px;">下一页</a>';
echo '</p>';
展开