关于PHP分页显示,现在很急。。。。

能不能具体说下如何显示,有代码更好,主要显示已经没有时间从头研究再写了,请各位帮帮忙!!
---------------------------------------------------------------

//------------------------>开始构建分页显示<------------------------------//

if($page!=""){
$page=$page;
}
else{
$page=0;
}
$total=$i;//-------------->这个是取出所有记录的总数参数
$topid=0;//显示留言传递参数
$pagesize=20;
$start=$page*$pagesize;
$end=$start+$pagesize;
if($end>$i) $end=$i;
$totalpage=$i/$pagesize;
$info=" 共有

1<font color="red">" . $total . "</font>

张贴子

1<font color="red">" . ($page+1) . "</font>

/" . ceil($totalpage) . "页  ";
if($page>0) $pagestr="

1<a &bord_id=".$bord_id. " ?page=" .($page-1)." href=".$PHP_SELF.">上一页</a>

";
$pagestr=$pagestr . " [第 ";
//-------------------------------------判断页码------------------
for($i=0;$i<$totalpage;$i++){
if($i!=$page){
$pagestr=$pagestr . "

1<a &bord_id=".$bord_id. " ?page=" . $i ." href=".$PHP_SELF.">" . ($i+1) . "</a>

";
}
else{
$pagestr=$pagestr . " " . ($i+1) . " ";
}
}
$pagestr=$pagestr . "页]";
if($page<$totalpage-1) $pagestr=$pagestr . "

1<a &bord_id=".$bord_id." ?page=" . ($page+1) ." href=".$PHP_SELF.">下一页</a>

\n";

---------------------------------------------------------------

function pageview($total_row,$perpage,$curpage,$page_name,$para)
{
//[总行数]转换为[总页数]
$total_page=floor($total_row/$perpage);
$leavenums=$total_row%$perpage;
if($leavenums<>0) $total_page++;

$prev_page=$curpage-1;
$next_page=$curpage+1;
if(strrpos($page_name,'?')) $page_name = $page_name.'&';
else $page_name = $page_name.'?';

if($total_page>1)
{
$lastpage=($total_page-1);
echo $prev_page<0?" ":"

1<a href='$page_name"."curpage=0$para'>第一页</a>
1<a href='\"".$page_name."curpage=$prev_page$para\"'>上一页</a>

";
echo $next_page>=$total_page?" ":"

1<a href='\"".$page_name."curpage=$next_page$para\"'>下一页</a>
1<a curpage="$lastpage$para" href=".$page_name.">最后一页</a>

";
echo " 共[

1<b>$total_page</b>

]页";
}
}
/=================[数字]页码方式显示=================/
function no_pageview($total_row,$perpage,$curpage,$page_name,$para)
{
$tmpNo=$curpage;
//[总行数]转换为[总页数]
$total_page=floor($total_row/$perpage);
$leavenums=$total_row%$perpage;
if($leavenums<>0) $total_page++;

//[总页数]转换为[总块数]
$display_page=10;
$total_block=floor($total_page/$display_page);
$leavepage=$total_page%$display_page;
if($leavepage<>0)
$total_block++;
$total_block=intval($total_block);

//[当前页]转换为[当前块]
$current_block=floor($curpage/$display_page);
$current_block=intval($current_block);

$prev_block=$current_block-1;
$prev_pages10=$prev_block*$display_page;
$next_block=$current_block+1;
$next_pages10=$next_block*$display_page;

if (strrpos($page_name,'?') )
$page_name = $page_name.'&';
else
$page_name = $page_name.'?';

if($total_page>1)
{
if($current_block==($total_block-1)){$cnt=$leavepage;}
else{$cnt=$display_page;}
for($i=0;$i<$cnt;$i++)
{
$curpage=$current_block*$display_page+$i;
$PageNo=$curpage+1;
if ($tmpNo==$curpage)
echo " [

1<b>$PageNo</b>

] ";
else
echo "

1<a curpage="$curpage$para" href=".$page_name."> $PageNo </a>

";
}
}
//-----显示[前十页]和[后十页]菜单
if($total_block>1)
{
echo $prev_block<0?" ":"

1<a href='\"".$page_name."curpage=$prev_pages10$para\"'>前十页</a>

";
echo $next_block>=$total_block?" ":"

1<a href='\"".$page_name."curpage=$next_pages10$para\"'>后十页</a>

";
}
}
---------------------------------------------------------------

思路.先统计你要显示的记录个数.然后确认你要一页显示多少条.

然后用sql中的limit 控制输出的记录条数.

点下一页时.limit变改就可以了.给你一个类.不想自己写的话.

I_pagesize = $I_pagesize;} if (isset($C_width)){$this -> C_width = $C_width;} } //------------------------------------------------------------------------------------------ // 函数名:page_standard($I_sumrecord,$C_page,$C_url="self",$C_otherpara="") // 作 用:分页显示函数(标准型) // 参 数:$I_sumrecord 记录总数 // $C_url URL // $C_page URL后的参数 // $C_otherpara URL后的参数2 // $bgcolor 表格的背景颜色 // 返回值: ```// 备 注:无 //------------------------------------------------------------------------------------------ function page_standard($I_sumrecord,$C_page,$C_url="self",$C_otherpara="",$bgcolor="") { //检查参数 if ((!$I_sumrecord) ¦ ¦ (!$C_page)){AlertExit("参数不全!");} global $PHP_SELF,$$C_page; //全局变量$C_page //检测$I_pagesize是否合法 if($this -> I_pagesize < 1){AlertExit("请设定每页的记录数!");} if($I_sumrecord < 1){return false;} //检测总记录数 if($C_url == "self"){$C_url = $PHP_SELF;} //设置URL $I_page = $$C_page; //重新赋当前页值 $I_maxpage = $this -> getmaxpage($I_sumrecord); //取出总页数 $I_page = $this -> checkPage($I_maxpage,$I_page); //检查当前页号 //显示表 echo "
"; echo ""; echo ""; if ($I_maxpage > 1)
" . $I_sumrecord. "条主题 当前第" . $I_page . "/". $I_maxpage. "
```
Published At
Categories with Web编程
comments powered by Disqus