第13天 PHP操作MySQL(二)

2019-11-01  本文已影响0人  zphphp

分页及两表的关联操作

一、分页:

需求:

  1. 从学生表中取前10条的数据 第一页数据 1
    select * from student limit 0,10
  2. 从学生表中前第11条到第20条的数据 10条第二页数据 2
    select * from student limit 10,10
  3. 从学生表中取第21条到第30条的数据 10条 第三页数据3
    select * from student limit 20,10
    分页的原理
    limit offset,length;
    从指定位置(offset)开始,获取对应长度(length)条记录(就是每页显示的数据条数)
    offset: (当前的页码-1)*length

查询语句


image.png
image.png

二、百度分页效果

数据:跟普通分页一样


image.png

页面渲染
要求每个页面显示10个页码,选中的页码无链接,没选中的有链接
第一步:

image.png

第二步: 找规律


image.png

第三步:排除特殊情况


image.png

三、封装分页显示类

  1. 新建一个文件common.php,里面定义一个函数page()
<?php
/**
 * @param $page  当前页码
 * @param $total_pages  总页数
 * @param $url   跳转的URL地址 
 */
    function page($page,$total_pages,$url){
        //找出循环的起始位置和结束位置
        $start=$page-5;
        $end=$page+4;
        //末尾
        if($page>=$total_pages-4){
            $end=$total_pages;
            $start=$total_pages-9;
        }
        //开头
        if($page<=6){
            $start=1;
            $end=10;
        }
        //当总页数小于10页时
        if($total_pages<=10){
            $start=1;
            $end=$total_pages;
        }

        for($i=$start;$i<=$end;$i++){
            if($i==$page){
                echo "<span>$i</span>";
            }else{
                echo "<a href='$url?page=$i'>$i</a>";
            }
        }
    }
  1. 在使用的地方引入分页类


    image.png

四、两表的关联操作(未完待续。。。)

1、理清表之间的关联关系
建表的多对一的关系
2、各自做各自的操作
3、两表的关联操作

上一篇 下一篇

猜你喜欢

热点阅读