袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

php如何实现分页功能

浏览量:45

what:

why:

how:
1、建立一个函数,用来实现限制查询的功能

首先我们来想一下,实现这个功能我们首先要知道当前的页数和要限制的一个页面显示几条信息,这个可以用形参传过来。那么,

我们设置pageNum为页数,pageSize为一个页面显示几条数据,在 " from tableName limit num1,num2”这个查询语句中,

num1就是(pageNum-1)pageSize,num2就是pageSize,明白了这个关系之后,那么就好办了,代码在下面:

//分页的函数

function news($pageNum = 1, $pageSize = 3)

{

    $array = array();

    $coon = mysqli_connect("localhost", "root");

    mysqli__db($coon, "jereh");

    mysqli_set_charset($coon, "utf8");

    // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度

    $rs = "  from n_content limit " . (($pageNum - 1)  $pageSize) . "," . $pageSize;

    $r = mysqli_query($coon, $rs);

    while ($obj = mysqli_fetch_object($r)) {

        $array[] = $obj;

    }

    mysqli_close($coon,"jereh");

    return $array;

}



2、建立第二个函数,用来显示总页数的函数

//显示总页数的函数

function allNews()

{

    $coon = mysqli_connect("localhost", "root");

    mysqli__db($coon, "jereh");

    mysqli_set_charset($coon, "utf8");

    $rs = " count() num from n_content"; //可以显示出总页数

    $r = mysqli_query($coon, $rs);

    $obj = mysqli_fetch_object($r);

    mysqli_close($coon,"jereh");

    return $obj->num;

}


3、调用这两个函数,进行初步的处理

   @$allNum = allNews();

   @$pageSize = 3; //约定每页显示的信息条数

   @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];

   @$endPage = ceil($allNum/$pageSize); //总页数

   @$array = news($pageNum,$pageSize);

4、在页面进行显示

在页面显示的话,需要用到了foreach循环了,代码简单,看下面:

<table border="1" style="text-align: center" cellpadding="0">

    <tr>

        <td>编号</td>

        <td>新闻标题</td>

        <td>来源</td>

        <td>点击率</td>

        <td>发布日期</td>

    </tr>

    <?php

    foreach($array as $key=>$values){

        echo "<tr>";

        echo "<td>{$values->id}</td>";

        echo "<td>{$values->title}</td>";

        echo "<td>{$values->src}</td>";

        echo "<td>{$values->indexs}</td>";

        echo "<td>{$values->times}</td>";

        echo "</tr>";

    }

    ?>

</table>
5、实现上一页,下一页的效果

要实现页面跳转的效果,我们需要用到了a标签的href属性,地址写“?pageNum = ...”这个pageNum是我们自己定义的,由于是get来传递的,在上一步里面我们已经用$_GET接受了参数,所以我们只需要进行get的参数传递就可以了;

首页:“pageNum=1”;

上一页:"pageNum=<?php echo $pageNum==1?1:$pageNum-1?>"

下一页:"pageNum=<?php echo $pageNum==$endPage ?$endPage :$pageNum+1?>"

尾页:“pageNum=<?php echo $pageNum =$endPage?>”;

特别注意的是,”pageNum=”的时候后面千万千万不要空格,代码如下:

<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>

打赏