欢迎登录

php分页问题

:2019-01-23    :266 次   :4209 字   

摘要:

现在用php写网站,分页是必须的页面部分,现在主要将用php和mysql结合的分页效果怎么实现。mysql使用的是pdo的方法,支持php7版本。

代码:

1、首先是两个最主要的mysql查询语句

  1. (1)、从哪查到哪的语句【limit后面两个数字,第一个数字是从0开始,第二数字是往后面查询10个】

select * from tablename ORDER BY `dailywd`.`id` DESC limit 0,10
  1. (2)、统计总页码的语句

select count(*) num from tablename

2、pagebar.php

<?php
//计算总数量
function allNum(){
require '../config/config.php';
try {
            $pdo = new PDO($dsn,$userName,$password);//创建一个连接对象
        } catch (PDOException $e) {
            die("数据库连接失败" . $e->getMessage());
        }
        //2.解决中文乱码问题
        $pdo->query("set names ‘utf8‘");
        //3.执行sql语句,并实现解析和遍历
        $sql = "select count(*) num from tablename";
        foreach ($pdo->query($sql) as $row) {
			$nums=$row[num];
        }
//关闭连接
$pdo = null;
return $nums;
}
@$allnums=allNum();
@$pageSize=10;
@$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
@$endPage = ceil($allnums/$pageSize); //总页数
?>

3、结果显示

<?php
require 'config.php';
try {
            $pdo = new PDO($dsn,$userName,$password);//创建一个连接对象
        } catch (PDOException $e) {
            die("数据库连接失败" . $e->getMessage());
        }
        $pdo->query("set names ‘utf8‘");
        $sql = "select * from tablename limit ". (($pageNum - 1) * $pageSize) . "," . $pageSize;
        foreach ($pdo->query($sql) as $row) {
            $time = date('Y-m-d H:i:s', $row['time']);
            echo "<div class=\"index_content\"><div class=\"up_info\"><div class=\"tag\">{$row['tag']}</div><div class=\"time\">{$time}";
            echo "</div></div><div class=\"text\">{$row['txt']}";
            echo "</div><div class=\"author_info\"><div class=\"author\">{$row['author']}</div></div>";
			echo "</div>";   
        }
//关闭连接
$pdo = null;
?>

4、页码样式

<div class="pagebar">
    <a href="?pageNum=1">首页</a>
    <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a>
    <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a>
    <a href="?pageNum=<?php echo $endPage?>">尾页</a>
</div>

5、结果显示

https://api.xygeng.cn/dailywd/

×