php mysql 分页代码与分页原理详解
本文章提供这一款php mysql 分页代码与分页代码是一款从创建数据库与查询数据到把数据进行分页,比较适合于php初学者,并且这款分页代码实用简单容易。
<?php
/*存放贴子的表结构------------------------------------------------------
代码如下复制代码
create table bbsrow(
bbsrow_id int(6) not null auto_increment, //贴子ID号
bbsrow_auth varchar(20) not null, //贴子作者
bbsrow_parentid int(6), //贴子的父亲贴子ID号,如为首发贴则为空
bbsrow_title varchar(200) not null, //贴子标题
bbsrow_returncount int(3), //贴子的回复贴数,如果没有回贴则为空
primary key (bbsrow_id)
);
-----------------------------------------------------------------------------*/
//显示儿子贴的递归函数--------------------------------------------------
function showchildren($parent_id) {
global $connect_id;
$query = "select * from bbsrow where bbsrow_parentid='" . $parent_id . "'";
$result_top = mysql_query($query, $connect_id);
echo "<ul> ";
while ($myrow_child = mysql_fetch_row($result_top)) {
echo "<li>";
echo $myrow_child[0];
echo $myrow_child[1];
echo $myrow_child[2];
echo $myrow_child[3];
echo $myrow_child[4] . " ";
//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
if ($myrow_child[4] != '') {
showchildren($myrow_child[0]);
}
}
echo "</ul>";
}
//----------------------------------------------------------------------
//连接数据库并将所有首发贴放到$mainrow数组里----------------------------
代码如下复制代码 $connect_id = mysql_connect("localhost", "test", "test") or die("无法连接数据库");
mysql_select_db("bbs") or die("无法选择数据库");
$query = "select * from bbsrow where bbsrow_parentid=''";
$result = mysql_query($query, $connect_id);
$i = 0;
while ($myrow = mysql_fetch_row($result)) {
$mainrow[$i][0] = $myrow[0];
$mainrow[$i][1] = $myrow[1];
$mainrow[$i][2] = $myrow[2];
$mainrow[$i][3] = $myrow[3];
$mainrow[$i][4] = $myrow[4];
$i++;
}
mysql_free_result($result);
//----------------------------------------------------------------------
//开始构建分页显示------------------------------------------------------
if ($currentpage != "") {
$page = $currentpage;
} else {
$page = 0;
}
$pagesize = 10; //每页显示的首发贴数!
$start = $page * $pagesize;
$end = $start + $pagesize;
if ($end > $i) $end = $i;
$totalpage = $i / $pagesize;
$info = " 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page + 1) . "/" . ceil($totalpage) . "页
";
echo $info;
if ($page > 0) $pagestr = "<a href=bbsrow.php4?currentpage=" . ($page - 1) . ">上一页</a>";
$pagestr = $pagestr . " [第 ";
for ($i = 0; $i < $totalpage; $i++) {
if ($i != $page) {
$pagestr = $pagestr . " <a href=bbsrow.php4?currentpage=" . $i . ">" . ($i + 1) . "</a> ";
} else {
$pagestr = $pagestr . " " . ($i + 1) . " ";
}
}
$pagestr = $pagestr . "页]";
if ($page < $totalpage - 1) $pagestr = $pagestr . "<a href=bbsrow.php4?currentpage=" . ($page + 1) . ">下一页</a><p> ";
echo $pagestr;
//----------------------------------------------------------------------
//开始分级显示----------------------------------------------------------
echo "<ul> ";
for ($i = $start; $i < $end; $i++) {
echo "<li> ";
echo $mainrow[$i][0];
echo $mainrow[$i][1];
echo $mainrow[$i][2];
echo $mainrow[$i][3];
echo $mainrow[$i][4] . " ";
//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
if ($mainrow[$i][4] != '') {
showchildren($mainrow[$i][0]);
}
}
echo "</ul> ";
//----------------------------------------------------------------------文章地址:http://www.phprm.com/code/33102.html
转载随意^^请带上本文地址!