index.php
<? $page_sql="select * from php_guest order by id desc"; $rs = new COM('ADODB.recordset'); $rs->open($page_sql,$conn,1,1); $pagesize=$rs->Pagesize=$page_size ; if($rs->PageCount<>0){ if(!empty($_GET['page'])){ if($_GET['page']<=0){ $rs->AbsolutePage=1; $nowpage=1;} elseif($_GET['page']>$rs->PageCount){ $rs->AbsolutePage=$rs->PageCount; $nowpage=$rs->PageCount; }else{ $rs->AbsolutePage=$_GET['page']; $nowpage=$_GET['page'];} }else{ $rs->AbsolutePage=1; $nowpage=1;} }else{ $nowpage = 1; $pagesize = 0; } for ($m=1; $m<=$pagesize; $m++) { if (!$rs->EOF){ ?> <h6>[<?= $rs->Fields[1] ?>]AT[<?=str2time($rs->Fields[7]) ?>]Title:[<?=htmlspecialchars($rs->Fields[2]) ?>] <?=admin_rep($rs->Fields[0] )?></h6> <div><?= ubb($rs->Fields[4]) ?>[<?=$rs->Fields[5] ?>] <sub><?= $rs->Fields[6] ?></sub> </div>
<? $rs->MoveNext(); } } if($rs->PageCount==0){ echo "没有信息哦";} if($rs->PageCount<>0){ echo "<h4>共有".$rs->RecordCount."条记录,每页".$pagesize."条,共".$rs->PageCount."页. "; echo "<a href=".$myfilename."?page=1>首页</a> "; if (!($nowpage<=1)){ echo "<a href=".$myfilename."?page=".($nowpage-1).">上一页</a> "; } if (!($nowpage>=$rs->PageCount)){ echo "<a href=".$myfilename."?page=".($nowpage+1).">下一页</a> "; } echo "<a href=".$myfilename."?page=".$rs->PageCount.">尾页</a></h4> "; } $conn->Close(); $rs=NULL; $conn =NULL;
?>
这是首页的全部文件,你只要替换我前面说的那个地方就行了,下面开始解释:
和asp的分页没啥大的区别,如果您明白asp的分页的话这个也很简单:sql读取记录,如果空的话输出为空的信息,如果不是空的话,读取当前的页数,页数为空或者大于记录总数的话游标定位到第一条,负责定位到 页数 * 每页的数目上.注意else对应和它相邻最近的if.
$page_sql="select * from php_guest order by id desc"; //------------------>创建sql语句 $rs = new COM('ADODB.recordset'); //------------------>创建记录对象 $rs->open($page_sql,$conn,1,1); //------------------>执行语句,返回记录集 $pagesize=$rs->Pagesize=$page_size ; //------------------>设置每页显示条数
if($rs->PageCount<>0){ //------------------>防止数据库为空,执行深度 1 if(!empty($_GET['page'])){ //------------------>如果当前querysting中page不是空,执行这里,定位页数.执行深度 2 if($_GET['page']<=0){ //------------------>如果当前page小于0,定位页数到第一条.执行深度 3 $rs->AbsolutePage=1; $nowpage=1;} elseif($_GET['page']>$rs->PageCount){ //------------------>如果当前page大于记录总数,定位页数到第一条.执行深度 4 $rs->AbsolutePage=$rs->PageCount; $nowpage=$rs->PageCount; }else{ //------------------>如果当前page不小于0到总数内,定位页数到page页.执行深度 3 $rs->AbsolutePage=$_GET['page']; $nowpage=$_GET['page'];} }else{ //------------------>如果当前querysting中page是空,执行这里,定位第一条记录.执行深度 2
$rs->AbsolutePage=1; $nowpage=1;} }else{ //------------------>数据库为空的话执行这里,执行深度 1 $nowpage = 1; $pagesize = 0; }
for ($m=1; $m<=$pagesize; $m++) //------------------>按照每页显示条数的设定进行循环
{ if (!$rs->EOF){ //------------------>防止达到记录集尾产生错误 ?> <h6>[<?= $rs->Fields[1] ?>]AT[<?=str2time($rs->Fields[7]) ?>]Title:[<?=htmlspecialchars($rs->Fields[2]) ?>] <?=admin_rep($rs->Fields[0] )?></h6> <div><?= ubb($rs->Fields[4]) ?>[<?=$rs->Fields[5] ?>] <sub><?= $rs->Fields[6] ?></sub> </div>
<? $rs->MoveNext(); //------------------>记录转向下一条
} }
if($rs->PageCount==0){ //------------------>数据库为空,打印为空的信息 echo "没有信息哦";}
if($rs->PageCount<>0){ //------------------>数据不是空的话大于页数信息. echo "<h4>共有".$rs->RecordCount."条记录,每页".$pagesize."条,共".$rs->PageCount."页. "; echo "<a href=".$myfilename."?page=1>首页</a> "; if (!($nowpage<=1)){ echo "<a href=".$myfilename."?page=".($nowpage-1).">上一页</a> ";} if (!($nowpage>=$rs->PageCount)){ echo "<a href=".$myfilename."?page=".($nowpage+1).">下一页</a> ";} echo "<a href=".$myfilename."?page=".$rs->PageCount.">尾页</a></h4> "; }
$conn->Close(); $rs=NULL; $conn =NULL; //------------------>释放资源,5do8没啥说的了,哈哈哈哈
上面有个htmlspecialchars函数,相当于server.htmlencode函数,原样输出的函数。
admin_rep($ids)函数是判断管理员是否登陆,然后打印2个超链接的,写在inc/function.php里面的:
//管理员登陆成功时候自动出现的选项,--------------- function admin_rep($ids=0) { session_start(); $thisadmin=$_SESSION["admin"] ; //echo $thisadmin; if ($thisadmin<>1) {return false;} $stradmin="Admin:<a href=admin.php?doaction=editor&id=".$ids.">editor</a> <a href='admin.php?doaction=delete&id=".$ids."' onClick='if(confirm(\"确定这个[---删除---]操作么?\"))window.location.href=this.href;else return false;'>delete</a>";
return $stradmin; }
session 验证的时候首先 session_start(); ,然后 if...else 判断,返回值。
首页显示页面:

出处:蓝色理想
责任编辑:moby
上一页 框架布局 下一页 发表留言,处理留言页面
◎进入论坛网络编程版块参加讨论
|