Rumah  >  Artikel  >  pengaturcaraan harian  >  PHP怎么实现分页功能?(图文+视频教程)

PHP怎么实现分页功能?(图文+视频教程)

藏色散人
藏色散人asal
2018-09-12 16:31:0712921semak imbas

本篇文章主要给大家详细介绍如何使用PHP实现分页功能即对数据库实现分页效果。在内容介绍之前,大家可以先了解下PHP连接数据库的具体方法。那么在这篇文章【PHP怎么连接Mysql数据库?】中已经为大家介绍了具体方法,可供需要的朋友进行参考学习。

PHP实现分页功能的操作,对于PHP新手来说或许有一定的难度。下面我们会通过详细的代码示例,为大家一一解说。希望对需要的朋友有一定的帮助。

PHP实现分页功能的完整代码示例如下:

<?php
$host = &#39;127.0.0.1&#39;;
$user = &#39;root&#39;;
$password = &#39;root&#39;;
$dbName = &#39;qiye&#39;;

$pdo = new PDO("mysql:host=$host;dbname=$dbName", $user, $password);
$sql = "select * from user";
$data = $pdo->query($sql)->fetchAll();

$num = 5;
$count = count($data);
$w = ceil($count / $num);

$page = isset($_GET[&#39;page&#39;]) ? $_GET[&#39;page&#39;] : 1;
//var_dump($page);
$offset = ($page - 1) * $num;
//var_dump($offset);
$sql = "select * from user limit $offset,{$num}";

$data = $pdo->query($sql)->fetchAll();

$p = ($page == 1) ? 0 : ($page - 1);
$n = ($page == $w) ? 0 : ($page + 1);

?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<form action="">
    <table border="1">
        <tr>
            <th>姓名</th>
            <th>邮箱</th>
            <th>号码</th>
            <th>时间</th>
        </tr>
        <?php foreach ($data as $v): ?>
 <tr>
                <td><?php echo $v[&#39;username&#39;]; ?></td>
                <td><?php echo $v[&#39;email&#39;]; ?></td>
                <td><?php echo $v[&#39;phone&#39;]; ?></td>
                <td><?php echo date("Y-m-d", $v[&#39;time&#39;]); ?></td>
            </tr>
        <?php endforeach; ?>
 </table>
    <?php
    if ($page==1){
 echo "首页";
    }else{
 echo "<a href=&#39;?page=1&#39;>首页</a>";
    }
 if ($p){
 echo "<a href=&#39;?page={$p}&#39;>上一页</a>";
    }else{
 echo "上一页";
    }
 if ($n){
 echo "<a href=&#39;?page={$n}&#39;>下一页</a>";
    }else{
 echo "下一页";
    }
 if($page== $w){
 echo "尾页";
    }else{
 echo "<a href=&#39;?page={$w}&#39;>尾页</a>";
    }
 ?>
</form>
</body>
</html>

在此段代码,我们先是通过PDO方式连接了“qiye”这个数据库,并通过sql语句对其数据进行了查询遍历操作。然后在本地创建一个form表单来显示从数据库中获取到的总信息,这里我们用count函数计算了总条数并赋值予$count 变量。

在没有进行分页操作时,通过浏览器访问到的数据表单结果为如下图:f9b8b00a86b891decfa78e7e4ebad12.png如如果我们想要让form表单中的数据每页只显示五条该怎么操作?大家应该都知道分页效果,基本有四个部分,首页、上一页、下一页和尾页。这里我们用ceil函数计算出总页数并赋值于$w变量。其实只要能掌握PHP跳转分页原理,就可以轻松完成PHP实现分页的功能。

那么在上述完整的代码示例中,已经为大家写出了分页的具体方法。其中将上一页与下一页分别赋予变量$p、$n ,再通过条件语句判断输出分页的四个部分。

PHP跳转分页原理:如果$p即当前页数不是在首页也就是不等于1时,我们就将当前页数减去1,即可实现点击上一页的跳转操作;如果$n即当前页数不是在尾页也就是不等于总页数时,我们就将当前页数加上1,即可实现点击下一页的跳转操作;如果要实现点击首页或者尾页时,实现直接跳转操作,只要将$p或$n的值设置为1或者总页数即可。

最终PHP分页实现效果如下图:

bab42b4d92ba3cedcf7fbb0758c2558.png

d4379f60bbbe999b7c5e86af36541a3.png

以上就是关于PHP实现分页功能的详细介绍,希望对需要的朋友有所帮助!更多相关教程可以访问php中文网mysql视频教程php视频教程,欢迎参考学习!

Atas ialah kandungan terperinci PHP怎么实现分页功能?(图文+视频教程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn