PHP基础分页

时间:2018-04-10 23:00:51 类型:PHP
字号:    

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>