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 "沒(méi)有信息哦";} if($rs->PageCount<>0){ echo "<h4>共有".$rs->RecordCount."條記錄,每頁(yè)".$pagesize."條,共".$rs->PageCount."頁(yè). "; echo "<a href=".$myfilename."?page=1>首頁(yè)</a> "; if (!($nowpage<=1)){ echo "<a href=".$myfilename."?page=".($nowpage-1).">上一頁(yè)</a> "; } if (!($nowpage>=$rs->PageCount)){ echo "<a href=".$myfilename."?page=".($nowpage+1).">下一頁(yè)</a> "; } echo "<a href=".$myfilename."?page=".$rs->PageCount.">尾頁(yè)</a></h4> "; } $conn->Close(); $rs=NULL; $conn =NULL;
?>
這是首頁(yè)的全部文件,你只要替換我前面說(shuō)的那個(gè)地方就行了,下面開(kāi)始解釋?zhuān)?/P>
和asp的分頁(yè)沒(méi)啥大的區(qū)別,如果您明白asp的分頁(yè)的話這個(gè)也很簡(jiǎn)單:sql讀取記錄,如果空的話輸出為空的信息,如果不是空的話,讀取當(dāng)前的頁(yè)數(shù),頁(yè)數(shù)為空或者大于記錄總數(shù)的話游標(biāo)定位到第一條,負(fù)責(zé)定位到 頁(yè)數(shù) * 每頁(yè)的數(shù)目上.注意else對(duì)應(yīng)和它相鄰最近的if.
$page_sql="select * from php_guest order by id desc"; //------------------>創(chuàng)建sql語(yǔ)句 $rs = new COM('ADODB.recordset'); //------------------>創(chuàng)建記錄對(duì)象 $rs->open($page_sql,$conn,1,1); //------------------>執(zhí)行語(yǔ)句,返回記錄集 $pagesize=$rs->Pagesize=$page_size ; //------------------>設(shè)置每頁(yè)顯示條數(shù)
if($rs->PageCount<>0){ //------------------>防止數(shù)據(jù)庫(kù)為空,執(zhí)行深度 1 if(!empty($_GET['page'])){ //------------------>如果當(dāng)前querysting中page不是空,執(zhí)行這里,定位頁(yè)數(shù).執(zhí)行深度 2 if($_GET['page']<=0){ //------------------>如果當(dāng)前page小于0,定位頁(yè)數(shù)到第一條.執(zhí)行深度 3 $rs->AbsolutePage=1; $nowpage=1;} elseif($_GET['page']>$rs->PageCount){ //------------------>如果當(dāng)前page大于記錄總數(shù),定位頁(yè)數(shù)到第一條.執(zhí)行深度 4 $rs->AbsolutePage=$rs->PageCount; $nowpage=$rs->PageCount; }else{ //------------------>如果當(dāng)前page不小于0到總數(shù)內(nèi),定位頁(yè)數(shù)到page頁(yè).執(zhí)行深度 3 $rs->AbsolutePage=$_GET['page']; $nowpage=$_GET['page'];} }else{ //------------------>如果當(dāng)前querysting中page是空,執(zhí)行這里,定位第一條記錄.執(zhí)行深度 2
$rs->AbsolutePage=1; $nowpage=1;} }else{ //------------------>數(shù)據(jù)庫(kù)為空的話執(zhí)行這里,執(zhí)行深度 1 $nowpage = 1; $pagesize = 0; }
for ($m=1; $m<=$pagesize; $m++) //------------------>按照每頁(yè)顯示條數(shù)的設(shè)定進(jìn)行循環(huán)
{ if (!$rs->EOF){ //------------------>防止達(dá)到記錄集尾產(chǎn)生錯(cuò)誤 ?> <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(); //------------------>記錄轉(zhuǎn)向下一條
} }
if($rs->PageCount==0){ //------------------>數(shù)據(jù)庫(kù)為空,打印為空的信息 echo "沒(méi)有信息哦";}
if($rs->PageCount<>0){ //------------------>數(shù)據(jù)不是空的話大于頁(yè)數(shù)信息. echo "<h4>共有".$rs->RecordCount."條記錄,每頁(yè)".$pagesize."條,共".$rs->PageCount."頁(yè). "; echo "<a href=".$myfilename."?page=1>首頁(yè)</a> "; if (!($nowpage<=1)){ echo "<a href=".$myfilename."?page=".($nowpage-1).">上一頁(yè)</a> ";} if (!($nowpage>=$rs->PageCount)){ echo "<a href=".$myfilename."?page=".($nowpage+1).">下一頁(yè)</a> ";} echo "<a href=".$myfilename."?page=".$rs->PageCount.">尾頁(yè)</a></h4> "; }
$conn->Close(); $rs=NULL; $conn =NULL; //------------------>釋放資源,5do8沒(méi)啥說(shuō)的了,哈哈哈哈
上面有個(gè)htmlspecialchars函數(shù),相當(dāng)于server.htmlencode函數(shù),原樣輸出的函數(shù)。
admin_rep($ids)函數(shù)是判斷管理員是否登陸,然后打印2個(gè)超鏈接的,寫(xiě)在inc/function.php里面的:
//管理員登陸成功時(shí)候自動(dòng)出現(xiàn)的選項(xiàng),--------------- 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(\"確定這個(gè)[---刪除---]操作么?\"))window.location.href=this.href;else return false;'>delete</a>";
return $stradmin; }
session 驗(yàn)證的時(shí)候首先 session_start(); ,然后 if...else 判斷,返回值。
首頁(yè)顯示頁(yè)面:
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) 框架布局 下一頁(yè) 發(fā)表留言,處理留言頁(yè)面
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|