1、分页查询
select * from tableName limit [start,] count;
- start:表示起始的记录位置,默认从0开始计算(,可以省略,起始位置为0)
-
2、起始位置计算
start = ( page - 1) * count;
3、总页数计算
allPage = ceil(allRew / pageSize);
4、数学计算函数
ceil 向上进一取证
ceil(float $value):float
floor 舍去取整
floor(float $value):float
round 四舍五入取证
round(round(float $val, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float
eg:
<?php var_dump(round(3.4)); var_dump(round(3.5)); var_dump(round(3.6)); var_dump(round(3.6, 0)); var_dump(round(5.045, 2)); var_dump(round(5.055, 2)); var_dump(round(345, -2)); var_dump(round(345, -3)); var_dump(round(678, -2)); var_dump(round(678, -3)); ?>
分页查询例子:
```sql <?php // 连接数据库; $url = “mysql:host=mysql;dbname=database_lessonkpi_28604_25_63”;//数据库ip和库名 $user = “lessonkpi_28604_25_63”;//数据库用户 $pwd = “2460a45ee98b8df178061fdb8d2e15da”;//数据库密码 $pdo = new PDO($url,$user,$pwd);
// 相关变量 $page = 1;//当前页码 $pageSize = 10;//当前每页显示记录数 $start = 0;//获取分页数据时的起始位置 $allNum = 0;//表中所有的记录数 $allPage = 0;//表中所有的页数 $allPage1 = 1;
//通过查询参数获取当前页码 if(isset($_GET[‘p’])){ $page=$_GET[‘p’]; }
//通过页码云计算起始查询位置计算粗所有的页数 $start = ($page-1)$pageSize; $st = $pdo->query(“select from student limit {$start}, {$pageSize}”); $res = $st->fetchAll(PDO::FETCH_ASSOC);
//查询总人数 $st1 = $pdo->query(“select name from student;”); $res1 = $st1->fetchAll(PDO::FETCH_ASSOC); // 获取男生总人数 $st2 = $pdo->query(“select from student where sex=’男’;”); $res2 = $st2->fetchAll(PDO::FETCH_ASSOC); // 获取女生总人数 $st3 = $pdo->query(“select from student where sex=’女’;”); $res3 = $st3->fetchAll(PDO::FETCH_ASSOC); // 获取所有的记录数 $st = $pdo->query(“select count(*) from student;”); $allNum = $st->fetch()[0]; //表中所有的页数 $allPage = ceil($allNum/$pageSize); ?> ```