国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php簡單分頁實(shí)例程序代碼詳解

2024-05-04 23:06:58
字體:
供稿:網(wǎng)友

php分頁處理功能是所有服務(wù)器腳本需要支持的一個功能,原理大概都是一樣的獲取當(dāng)前頁碼與記錄數(shù),然后再進(jìn)行一些計(jì)算之后獲取從起始與結(jié)束位置的內(nèi)容然后再利用php顯示出來即可,下面來看看這個分頁例子,后面我會詳細(xì)介紹.

php分頁例子,代碼如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.survivalescaperooms.com /TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html 
  3.  
  4. xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5.  
  6. <title>php make page list</title> 
  7.  
  8. <style type="text/CSS"
  9.  
  10. <!-- .page a:link { color: #0000FF; text-decoration: none; } 
  11.  
  12. .page a:visited { text-decoration: none; color: #0000FF; } 
  13.  
  14. .page a:hover { text-decoration: none; color: #0000FF; } 
  15.  
  16. .page a:active { text-decoration: none; color: #0000FF; } 
  17.  
  18. .page{color:#0000FF;} --> </style> 
  19.  
  20. </head> 
  21.  
  22. <body> 
  23.  
  24. <table width="530" height="103" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <th width="30" height="38" bgcolor="#E3E3E3" scope="col">ID</th> <th width="500" bgcolor="#E3E3E3" scope="col">title</th> </tr> <?php /* * Created on 2010-4-17 * * Order by Kove Wong */ include "conn.php"
  25.  
  26. $Page_size=10; 
  27.  
  28. $result=mysql_query('select * from huazhuangpin');  
  29. $count = mysql_num_rows($result);  
  30. $page_count = ceil($count/$Page_size); 
  31.  
  32. $init=1; $page_len=7; $max_p=$page_count$pages=$page_count
  33.  
  34. //判斷當(dāng)前頁碼 
  35.  
  36.  if(emptyempty($_GET['page'])||$_GET['page']<0){ $page=1; }else { $page=$_GET['page']; } 
  37.  
  38. $offset=$Page_size*($page-1);  
  39. $sql="select * from huazhuangpin limit $offset,$Page_size"$result=mysql_query($sql);  
  40. while ($row=mysql_fetch_array($result)) { ?> <tr> <td bgcolor="#E0EEE0" height="25px"><div align="center"> <?php echo $row['id']?> </div></td> <td bgcolor="#E0EEE"><div align="center"> <?php echo $row['title']?> </div></td> </tr> <?php } $page_len = ($page_len%2)?$page_len:$pagelen+1;//頁碼個數(shù) $pageoffset = ($page_len-1)/2;//頁碼個數(shù)左右偏移量 
  41.  
  42. $key='<div>'$key.="<span>$page/$pages</span> "//第幾頁,共幾頁 if($page!=1){ $key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一頁</a> "; //第一頁 $key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">上一頁</a>"; //上一頁 }else { $key.="第一頁 ";//第一頁 $key.="上一頁"; //上一頁 } if($pages>$page_len){ //如果當(dāng)前頁小于等于左偏移 if($page<=$pageoffset){ $init=1; $max_p = $page_len; }else{//如果當(dāng)前頁大于左偏移 //如果當(dāng)前頁碼右偏移超出最大分頁數(shù) if($page+$pageoffset>=$pages+1){ $init = $pages-$page_len+1; }else{ //左右偏移都存在時的計(jì)算 $init = $page-$pageoffset; $max_p = $page+$pageoffset; } } } for($i=$init;$i<=$max_p;$i++){ if($i==$page){ $key.=' <span>'.$i.'</span>'; } else { $key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</a>"; } } if($page!=$pages){ $key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一頁</a> ";//下一頁 $key.="<a href=\"".$_SERVER['PHP_SELF']."?page={$pages}\">最后一頁</a>"; //最后一頁 }else { $key.="下一頁 ";//下一頁 $key.="最后一頁"; //最后一頁 } $key.='</div>'; ?> <tr> <td colspan="2" bgcolor="#E0EEE0"><div align="center"><?php echo $key?></div></td> </tr> </table> 
  43.  
  44. </body> </html> 

分析此例子,代碼片段一,代碼如下:

  1. $Page_size=10; 
  2.  
  3. $result=mysql_query('select * from huazhuangpin');  
  4. $count = mysql_num_rows($result);  
  5. $page_count = ceil($count/$Page_size); 

這代碼是從數(shù)據(jù)庫中先獲取數(shù)據(jù)庫總記錄然后再利用$count/$Page_size(總記錄除上每天多少條記錄得出有多少頁記錄并且賦值給$page_coun.

代碼片段二,代碼如下:

  1. $offset=$Page_size*($page-1);  
  2. $sql="select * from huazhuangpin limit $offset,$Page_size"$result=mysql_query($sql); 

這代碼核心部份是$offset=$Page_size*($page-1); 這個是利用我們獲取的當(dāng)前頁面-1然后判斷總記錄在多少條再在sql中實(shí)現(xiàn)從X,y條記錄讀取limit $offset,$Page_size 這樣就實(shí)現(xiàn)了分頁獲取記錄了.

代碼片段三,代碼如下:

  1. if(emptyempty($_GET['page'])||$_GET['page']<0){ $page=1; }else { $page=$_GET['page']; }//開源代碼Vevb.com 

這段代碼是獲取page如果page為空就默認(rèn)為第一頁,否則就獲取當(dāng)前頁面頁碼給$page變量以后面的程序作參考值處理.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 普安县| 宁陕县| 勐海县| 普定县| 新郑市| 六枝特区| 奉新县| 闸北区| 涡阳县| 贡山| 三河市| 曲沃县| 通榆县| 千阳县| 工布江达县| 和顺县| 南投县| 康乐县| 闽侯县| 井陉县| 无为县| 滦南县| 大同县| 青河县| 平湖市| 来凤县| 东乌珠穆沁旗| 手机| 枣强县| 五寨县| 家居| 民丰县| 崇阳县| 阿拉尔市| 万宁市| 建水县| 汾阳市| 图木舒克市| 厦门市| 科技| 汾阳市|