PHP分頁(yè),對(duì)于經(jīng)常寫(xiě)程序的人來(lái)說(shuō),這是必不可少的一部分,只要寫(xiě)頁(yè)面幾乎都要用到,用的多了也沒(méi)什么感覺(jué)了,但對(duì)于初學(xué)者來(lái)說(shuō),這個(gè)使用基本原理還是有些復(fù)雜的,為了照顧新人,這里寫(xiě)出了基本使用方法,高手可以直接忽略.
<?php
include("conn.php"); //include, require
$db = conndb(); //連接數(shù)據(jù)庫(kù)
//統(tǒng)計(jì)總數(shù) 開(kāi)始
$sql = "select count(*) as total from stu";
$query = $db->query($sql);
$query->setFetchMode(PDO::FETCH_ASSOC);
$result = $query->fetchAll();
$total = $result[0]["total"]; //總數(shù)
//統(tǒng)計(jì)總數(shù) 結(jié)束
$pagenum = 2; // 每頁(yè)顯示的條目
$pages = ceil($total/$pagenum); //總的頁(yè)數(shù)
$page = isset($_GET["page"])?$_GET["page"]:1; // 當(dāng)前第幾頁(yè)
$startpos = ($page - 1) * $pagenum; // 計(jì)算出 每頁(yè)開(kāi)始的位置
$sql = "select * from stu order by id asc limit $startpos,$pagenum ";
/*
limit 3,2 3表示開(kāi)始的位置,2表示取2條
order by id 按照 id 排序
asc 升序
desc 降序*/
$query = $db->query($sql);
$query->setFetchMode(PDO::FETCH_ASSOC);
//只關(guān)聯(lián)名稱(chēng)索引,去掉數(shù)字的下標(biāo)索引
$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'>詳細(xì)</a>
<a href='update.php?id=$id'>修改</a>
<a href='del.php?id=$id'>刪除</a>
</td>";
$str .= "</tr>";
}
}
?>
HTML頁(yè)面輸出
<table border="1" style="width: 600px; margin: 0 auto;">
<tr>
<td></td>
<td>姓名</td>
<td>性別</td>
<td>年齡</td>
<td>愛(ài)好</td>
<td>時(shí)間</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>
