PHP分页,对于经常写程序的人来说,这是必不可少的一部分,只要写页面几乎都要用到,用的多了也没什么感觉了,但对于初学者来说,这个使用基本原理还是有些复杂的,为了照顾新人,这里写出了基本使用方法,高手可以直接忽略.
<?php
include("conn.php"); //include, require
$db = conndb(); //连接数据库
//统计总数 开始
$sql = "select count(*) as total from stu";
$query = $db->query($sql);
$query->setFetchMode(PDO::FETCH_ASSOC);
$result = $query->fetchAll();
$total = $result[0]["total"]; //总数
//统计总数 结束
$pagenum = 2; // 每页显示的条目
$pages = ceil($total/$pagenum); //总的页数
$page = isset($_GET["page"])?$_GET["page"]:1; // 当前第几页
$startpos = ($page - 1) * $pagenum; // 计算出 每页开始的位置
$sql = "select * from stu order by id asc limit $startpos,$pagenum ";
/*
limit 3,2 3表示开始的位置,2表示取2条
order by id 按照 id 排序
asc 升序
desc 降序*/
$query = $db->query($sql);
$query->setFetchMode(PDO::FETCH_ASSOC);
//只关联名称索引,去掉数字的下标索引
$result = $query->fetchAll();
$str = "";
if($result){
foreach ($result as $row) {
$id = $row["id"];
$time = date("Y-m-d H:i:s",$row["addtime"]);
$str .= "<tr>";
$str .= "<td><input type='checkbox' name='ids[]' value='$id'></td>";
$str .= "<td>".$row["names"]."</td>";
$str .= "<td>".$row["sex"]."</td>";
$str .= "<td>".$row["age"]."</td>";
$str .= "<td>".$row["hobby"]."</td>";
$str .= "<td>".$time."</td>";
$str .= "<td>
<a href='detail.php?id=$id'>详细</a>
<a href='update.php?id=$id'>修改</a>
<a href='del.php?id=$id'>删除</a>
</td>";
$str .= "</tr>";
}
}
?>
HTML页面输出
<table border="1" style="width: 600px; margin: 0 auto;">
<tr>
<td></td>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
<td>爱好</td>
<td>时间</td>
<td>操作</td>
</tr>
<?php echo $str; ?>
<tr>
<td colspan="7">
<input type="submit" value="删除">
</td>
</tr>
<tr>
<td colspan="7">
<?php
for($i=1;$i<=$pages;$i++){
echo "<a href='?page=$i'>$i</a> ";
}
?>
</td>
</tr>
</table>
