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

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

php+ajax實(shí)現(xiàn)無刷新數(shù)據(jù)分頁(yè)例子

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

無刷新功能我們用到很多很多的,下面我就來給各位介紹一個(gè)實(shí)例,就是實(shí)現(xiàn)php+ajax實(shí)現(xiàn)無刷新數(shù)據(jù)分頁(yè)了,例子非常的簡(jiǎn)單大家只要按流程來操作就可以了哦.

index.php 文件代碼如下:

  1. <?php 
  2. header("Content-type: text/html;charset=GBK");//輸出編碼,避免中文亂碼 
  3. ?> 
  4. <html> 
  5. <head> 
  6. <title>ajax分頁(yè)演示</title> 
  7. <script language="javascript" src="ajaxpg.js"></script> 
  8. <link rel="stylesheet" type="text/css" href="page.css"
  9. </head> 
  10. <body> 
  11. <div id="result"
  12. <?php 
  13. $page=isset($_GET['page'])?intval($_GET['page']):1;  //這句就是獲取page=18中的page的值,假如不存在page,那么頁(yè)數(shù)就是1。 
  14. $num=3;  //每頁(yè)顯示10條數(shù)據(jù) 
  15.  
  16. $db=mysql_connect("localhost","root","123456");  //創(chuàng)建數(shù)據(jù)庫(kù)連接 
  17. mysql_select_db("demo",$dbor die("數(shù)據(jù)庫(kù)鏈接錯(cuò)誤");  //選擇要操作的數(shù)據(jù)庫(kù) 
  18. mysql_query("set names gbk"); 
  19. /* 
  20. 首先咱們要獲取數(shù)據(jù)庫(kù)中到底有多少數(shù)據(jù),才能判斷具體要分多少頁(yè),具體的公式就是 
  21. 總數(shù)據(jù)庫(kù)除以每頁(yè)顯示的條數(shù),有余進(jìn)一。 
  22. 也就是說10/3=3.3333=4 有余數(shù)就要進(jìn)一。 
  23. */ 
  24.  
  25. $result=mysql_query("select * from brand"); 
  26. $total=mysql_num_rows($result); //查詢所有的數(shù)據(jù) 
  27.  
  28. $url='test.php';//設(shè)置ajax提交頁(yè)面地址的URL,這里設(shè)置成test.php通過ajax把參數(shù)傳遞給test.php再把處理過的內(nèi)容賦值到本頁(yè)的div id=result。 
  29. //頁(yè)碼計(jì)算 
  30. $pagenum=ceil($total/$num);//獲得總頁(yè)數(shù),也是最后一頁(yè) 
  31. $page=min($pagenum,$page);//獲得首頁(yè) 
  32. $prepg=$page-1;//上一頁(yè) 
  33. $nextpg=($page==$pagenum ? 0 : $page+1);//下一頁(yè) 
  34. $offset=($page-1)*$num//獲取limit的第一個(gè)參數(shù)的值,假如第一頁(yè)則為(1-1)*10=0,第二頁(yè)為(2-1)*10=10。 
  35. $pagenav="<ul>"
  36.  
  37. //開始分頁(yè)導(dǎo)航條代碼: 
  38. $pagenav.="<li>顯示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 條記錄</li><li>共 $total 條記錄&nbsp;</li>"
  39.  
  40. //如果只有一頁(yè)則跳出函數(shù): 
  41. if($pagenum<=1) return false; 
  42.  
  43. $pagenav.="<li> <a href=javascript:dopage('result','$url?page=1');>首頁(yè)</a></li> "
  44. if($prepg$pagenav.="<li> <a href=javascript:dopage('result','$url?page=$prepg');>前頁(yè)</a></li> "else $pagenav.=" <li>前頁(yè)</li> "
  45. if($nextpg$pagenav.="<li><a href=javascript:dopage('result','$url?page=$nextpg');>后頁(yè)</a> </li>"else $pagenav.=" <li>后頁(yè)</li> "
  46. $pagenav.="<li> <a href=javascript:dopage('result','$url?page=$pagenum');>尾頁(yè)</a></li> "
  47. $pagenav.="<li>第 $page 頁(yè)</li><li>共 $pagenum 頁(yè)</li></ul>"
  48.  
  49. //假如傳入的頁(yè)數(shù)參數(shù)大于總頁(yè)數(shù),則顯示錯(cuò)誤信息 
  50. If($page>$pagenum){ 
  51.  Echo "Error : Can Not Found The page ".$page
  52.  Exit;  //開源軟件:Vevb.com 
  53. ?></div><div id="results"
  54. <?php 
  55.   echo $pagenav;//輸出分頁(yè)導(dǎo)航 
  56. ?> 
  57. </div> 
  58. </body> 
  59. </html> 

css代碼:

  1. /* CSS Document */ 
  2. /* CSS Document */ 
  3. #result ul li{ 
  4. height:20px
  5. width:auto
  6. display:block
  7. color:#999
  8. border:1px solid #999
  9. float:left
  10. list-style:none
  11. font-size:12px
  12. margin-left:5px
  13. line-height:20px
  14. vertical-align:middle
  15. text-align:center
  16. #result ul li a:link{ 
  17. width:50px
  18. height:20px
  19. display:block
  20. line-height:20px
  21. background:#09C
  22. border:1px solid #fff
  23. color:#fff
  24. text-decoration:none
  25. #result ul li a:hover{ 
  26. width:50px
  27. height:20px
  28. display:block
  29. line-height:20px
  30. background:#09C
  31. border:1px solid #fff
  32. color:#F60
  33. text-decoration:none

ajaxpg.js文件如下:

  1. // JavaScript Document 
  2. var http_request=false
  3.   function send_request(url){//初始化,指定處理函數(shù),發(fā)送請(qǐng)求的函數(shù) 
  4.  http_request=false
  5. //開始初始化XMLHttpRequest對(duì)象 
  6. if(window.XMLHttpRequest){//Mozilla瀏覽器 
  7. http_request=new XMLHttpRequest(); 
  8. if(http_request.overrideMimeType){//設(shè)置MIME類別 
  9.   http_request.overrideMimeType("text/xml"); 
  10. else if(window.ActiveXObject){//IE瀏覽器 
  11. try
  12.  http_request=new ActiveXObject("Msxml2.XMLHttp"); 
  13. }catch(e){ 
  14.  try
  15.  http_request=new ActiveXobject("Microsoft.XMLHttp"); 
  16.  }catch(e){} 
  17.  } 
  18. if(!http_request){//異常,創(chuàng)建對(duì)象實(shí)例失敗 
  19. window.alert("創(chuàng)建XMLHttp對(duì)象失??!"); 
  20. return false
  21. http_request.onreadystatechange=processrequest; 
  22. //確定發(fā)送請(qǐng)求方式,URL,及是否同步執(zhí)行下段代碼 
  23.  http_request.open("GET",url,true); 
  24. http_request.send(null); 
  25.   } 
  26.   //處理返回信息的函數(shù) 
  27.   function processrequest(){ 
  28. if(http_request.readyState==4){//判斷對(duì)象狀態(tài) 
  29.   if(http_request.status==200){//信息已成功返回,開始處理信息 
  30.  document.getElementById("results").style.display="none"
  31.  document.getElementById(reobj).innerHTML=http_request.responseText; 
  32. else{//頁(yè)面不正常 
  33.  alert("您所請(qǐng)求的頁(yè)面不正常!"); 
  34.   } 
  35.   function dopage(obj,url){ 
  36. document.getElementById(obj).innerHTML="<font color='green' font-size='12'>正在讀取數(shù)據(jù)...</font>"
  37. send_request(url); 
  38. reobj=obj; 

數(shù)據(jù)庫(kù)文件如下:

  1. -- phpMyAdmin SQL Dump 
  2. -- version 2.8.1 
  3. -- http://www.phpmyadmin.net 
  4. --  
  5. -- 主機(jī): localhost 
  6. -- 生成日期: 2010 年 01 月 22 日 14:41 
  7. -- 服務(wù)器版本: 5.0.22 
  8. -- PHP 版本: 5.2.12 
  9. --  
  10. -- 數(shù)據(jù)庫(kù): `demo` 
  11. -- 
  12. -- -------------------------------------------------------- 
  13. --  
  14. -- 表的結(jié)構(gòu) `brand` 
  15. -- 
  16. CREATE TABLE `brand` ( 
  17.   `id` int(7) NOT NULL auto_increment, 
  18.   `sp_brand` varchar(255) default NULL
  19.   PRIMARY KEY  (`id`) 
  20. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ; 
  21. --  
  22. -- 導(dǎo)出表中的數(shù)據(jù) `brand` 
  23. -- 
  24. INSERT INTO `brand` (`id`, `sp_brand`) VALUES (1, 'hello world'), 
  25. (2, '你好'), 
  26. (3, '恩'), 
  27. (4, 'fdsafdsafdsa'), 
  28. (5, 'fdsafdafdsafdas'), 
  29. (6, 'fdsafdsa'), 
  30. (7, 'fdsafdsafdas'), 
  31. (8, '恩'), 
  32. (9, '恩'), 
  33. (10, '恩'), 
  34. (11, '恩11'), 
  35. (12, '恩'), 
  36. (13, '恩'), 
  37. (14, '恩'), 
  38. (15, '恩'), 
  39. (16, '恩'), 
  40. (17, '恩'), 
  41. (18, '恩18'); 

下面介紹這些文件的功能

ajaxpg.js:ajax無刷新核心文件,一般不要去作修改.

index.php:實(shí)現(xiàn)ajax無刷新的文件了,這里調(diào)用了ajaxpg.js文件,配置了mysql用戶密碼,要和自己本地的一致,以及顯示分頁(yè)的效果.

page.css:這是分頁(yè)的CSS樣式文件,用來美化的,就不多介紹了.

brand.sql:這是MYSQL數(shù)據(jù)庫(kù)的文件了,進(jìn)行導(dǎo)入到MYSQL數(shù)據(jù)庫(kù)中,同樣,如果不會(huì)導(dǎo)入,可以參考PHPfensi.com中如何導(dǎo)入.sql文章即可.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 庆云县| 乐至县| 通江县| 莒南县| 日照市| 探索| 金阳县| 漠河县| 塘沽区| 禹城市| 西充县| 平利县| 鹤岗市| 沛县| 北票市| 建平县| 独山县| 西安市| 女性| 兴文县| 塘沽区| 泰和县| 新蔡县| 青铜峡市| 札达县| 诸暨市| 阳山县| 出国| 安新县| 龙口市| 武川县| 芒康县| 康乐县| 城市| 鄯善县| 自贡市| 平顶山市| 永济市| 寻乌县| 马关县| 大庆市|