• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:东东网 > 近期动态 > 建站常见问题 > 正文

php教程:php分页查询

发布时间:2020-04-26 | 发布者: 东东工作室 | 浏览次数:

* 分页查询的原理

 

* 分析分页的原理:

* 1. LIMIT 参数的作用: 偏移量与显示数量

* 2. 如果控制每页显示的数量

* 3. 接收GET参数,用p表示当前页数,每页显示3条

* 4. 需要的参数:

* (1).totalPage 总页数

* (2).totalNumber 一共有多少条数据

* (3).pageSize 每页显示多少条数据

* (4)currentPage 当前第几页

* (5)*.rangeStart 起始页

* (6)*.rangeEnd 末页

* 5. 当前偏移量的计算公式: (页数-1)*每页显示的数量

*    offset = (page-1)*num

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

$page = isset($_GET['p'])? $_GET['p']:1;

$page = ($page == 0 ) ? 1 : $page;

$num = 5;

$offset = ($page-1)*$num;

//1.获取到所有数据,用表格显示出来

$pdo new PDO('mysql:host=localhost;dbname=php','root''root');

//$sql = "SELECT id,name,email FROM user1 LIMIT 0,3";

$sql "SELECT `staff_id`,`name`,`sex`,`age`,`salary` FROM `staff` LIMIT :offset, :num";

$stmt $pdo->prepare($sql);

$stmt->bindParam(':offset'$offset, PDO::PARAM_INT);

$stmt->bindParam(':num'$num, PDO::PARAM_INT);

$stmt->execute();

$stmt->setFetchMode(PDO::FETCH_ASSOC);

$res $stmt->fetchAll();

echo '<h2 align="center">员工信息表</h2>';

echo '<table border="1" cellspacing="0" cellpadding="5" width="70%" align="center">';

echo '<tr bgcolor="lightgreen"><th>ID</th><th>用户名</th><th>性别</th><th>年龄</th><th>工资</th></tr>';

foreach ($res as $row) {

    echo '<tr align="center">';

    echo '<td>'.$row['staff_id'].'</td><td>'.$row['name'].'</td>';

    $row['sex'] = $row['sex']==0 ? '男' '<span style="color:red">女</span>';

    echo '<td>'.$row['sex'].'</td>';

    echo '<td>'.$row['age'].'</td><td>'.$row['salary'].'</td>';

    echo '</tr>';

}

echo '</table>';

//计算共计多少页?

$stmt2 $pdo->prepare("SELECT * FROM staff");

$stmt2->execute();

$totalPage ceil($stmt2->rowCount() / $num);

$page = ($page == $totalPage) ? ($totalPage-1) : $page;

echo '<style>a {margin-left: 10px;text-decoration: none}a:hover{color:red}</style>';

echo '<h3 align="center">';

echo '<a href="http://php.io/0427/page.php?p=1">首页</a>';

echo '<a href="http://php.io/0427/page.php?p=';

echo (($page-1)==0)?1:($page-1);

echo '">上一页</a>';

for ($i=1; $i<=$totalPage$i++) {

    echo '<a href="http://php.io/0427/page.php?p='.$i.'">'.$i.'</a>';

}

echo '<a href="http://php.io/0427/page.php?p='.($page+1).'">下一页</a>';

echo '<a href="http://php.io/0427/page.php?p='.$totalPage.'">尾页</a>';

echo '</h3>';

 

转载请标注:东东工作室——php教程:php分页查询