php怎样做网站分页效果
1、先分解下分页的处理逻辑第一步:先查出数据库中符合要求的总记录数,这里用S表示第二步:设定你每页显示的条数P,并计算出总共可以分多少页 N=S/P这里需要注意的是:这个N如果是小数必须向上取整 (如果是10.01也必须按照11算)
2、第三步:看你需要分页是怎样显示,(如:显示成1 2 3 ...15 16 17、或者 显示成1 ... 9 10 11 12 13 ...55、等)具体的样式根据自己的实际情况而定。这两种情况均是要单独考虑“...”前后的数据的,要考虑分页数到多少的情况下这样显示,在分页数小于你设定的情况又怎样显示。
3、针对第三步在详细说明下:如果你设定超过7页就显示...然后在多个尾页就可以,那你需要考虑当前页是几,从而确定分页的显示情况,如磨营稼刻果当前页是1那个分页数N>7(1 2 3 4 5 6 7 ... N)的情况和N<7(1 2 3 4)的情况,如果当前页>7(如果当前页是8:那么1...6 7 8 9 10...N)可能会这样显示,那么你需要考虑数字是从“...”的第几个显示 按照上面的你需要计算 8的前两位和后两位最后你还需要考虑如果当前页接近尾页的情况,这个是跟当前页<7的情况基本相似显示出来就是(1.....66 67 68 69 70 71 72)
4、以上就是做分页的基本逻辑,自己做确实考虑的情况比较多,也有的地方考虑不周全,不过我们如果是用框架,基本上这些在框架中都是集成好了的,你只需设定相关参数,把数据做好就可以。下面跟搭建分享下thinkphp中的分页是怎么做的
5、thinkphp的底层分页已经写好了,正常续异收俱情况是如果当前页>7后中间显示7个数,两边显示...并有上一敌颉缪莽页和下一页(这些事默认的,你是可以修改的)我们可以先修改下参数,参数如下图所示,路径在 Thinkphp->library->Think->Page.class.php的文件中
6、上面都有具体的标注,这里就不做解释的,我们可以看下前台的代码,上面只需要写入查数据的条件和数据表明即可,如下图所示
7、分解下上面的参数count是总的记录数S ,show是做好的分页字符串用于在前端显示的Page是创建了一个分页的对象,并且定义每页显示数据是12条。($count,12,$arr)最后一个是第一页的数据。Page->firstRow这个是分页查询数据起始位置和查询条数
8、我们在看看html的代码,就是如下图所示的一点,这样就可以实现上面的分页效果了,你可以试试了