* 分页查询的原理
* 分析分页的原理:
* 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$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 '
员工信息表
';echo '
echo '
ID用户名性别年龄工资';foreach ($res as $row) {
echo '
';echo '
'.$row['staff_id'].''.$row['name'].'';$row['sex'] = $row['sex']==0 ? '男' : '女';
echo '
'.$row['sex'].'';echo '
'.$row['age'].''.$row['salary'].'';echo '
';}
echo '
';//计算共计多少页?
$stmt2 = $pdo->prepare("SELECT * FROM staff");
$stmt2->execute();
$totalPage = ceil($stmt2->rowCount() / $num);
$page = ($page == $totalPage) ? ($totalPage-1) : $page;
echo '';
echo '
';
echo '首页';
echo '上一页';
for ($i=1; $i<=$totalPage; $i++) {
echo ''.$i.'';
}
echo '下一页';
echo '尾页';
echo '';
本文原创发布php中文网,转载请注明出处,感谢您的尊重!