麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PHP > 正文

php+ajax實現無刷新數據分頁的辦法

2024-05-04 23:40:01
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php+ajax實現無刷新分頁的方法,詳細講述了數據庫的創建、Ajax文件的實現及PHP調用方法,需要的朋友可以參考下

本文實例講述了php+ajax實現無刷新分頁的方法。分享給大家供大家參考。具體實現方法如下:

index.php 文件,代碼如下:

 

 
  1. <?php  
  2. header("Content-type: text/html;charset=GBK");//輸出編碼,避免中文亂碼  
  3. ?>  
  4. <html>  
  5. <head>  
  6. <title>ajax分頁演示</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,那么頁數就是1。  
  14. $num=3; //每頁顯示10條數據  
  15.  
  16. $db=mysql_connect("localhost","root","123456"); //創建數據庫連接  
  17. mysql_select_db("demo",$db) or die("數據庫鏈接錯誤"); //選擇要操作的數據庫  
  18. mysql_query("set names gbk");  
  19. /*  
  20. 首先咱們要獲取數據庫中到底有多少數據,才能判斷具體要分多少頁,具體的公式就是  
  21. 總數據庫除以每頁顯示的條數,有余進一。  
  22. 也就是說10/3=3.3333=4 有余數就要進一。  
  23. */ 
  24.  
  25. $result=mysql_query("select * from brand");  
  26. $total=mysql_num_rows($result); //查詢所有的數據  
  27.  
  28. $url='test.php';//設置ajax提交頁面地址的URL,這里設置成test.php通過ajax把參數傳遞給test.php再把處理過的內容賦值到本頁的div id=result。  
  29. //頁碼計算  
  30. $pagenum=ceil($total/$num);//獲得總頁數,也是最后一頁  
  31. $page=min($pagenum,$page);//獲得首頁  
  32. $prepg=$page-1;//上一頁  
  33. $nextpg=($page==$pagenum ? 0 : $page+1);//下一頁  
  34. $offset=($page-1)*$num; //獲取limit的第一個參數的值,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。  
  35. $pagenav="<ul>";  
  36.  
  37. //開始分頁導航條代碼:  
  38. $pagenav.="<li>顯示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 條記錄</li><li>共 $total 條記錄</li>";  
  39.  
  40. //如果只有一頁則跳出函數:  
  41. if($pagenum<=1) return false;  
  42.  
  43. $pagenav.="<li> <a href=javascript:dopage('result','$url?page=1');>首頁</a></li> ";  
  44. if($prepg) $pagenav.="<li> <a href=javascript:dopage('result','$url?page=$prepg');>前頁</a></li> "else $pagenav.=" <li>前頁</li> ";  
  45. if($nextpg) $pagenav.="<li><a href=javascript:dopage('result','$url?page=$nextpg');>后頁</a> </li>"else $pagenav.=" <li>后頁</li> ";  
  46. $pagenav.="<li> <a href=javascript:dopage('result','$url?page=$pagenum');>尾頁</a></li> ";  
  47. $pagenav.="<li>第 $page 頁</li><li>共 $pagenum 頁</li></ul>";  
  48.  
  49. //假如傳入的頁數參數大于總頁數,則顯示錯誤信息  
  50. If($page>$pagenum){  
  51. Echo "Error : Can Not Found The page ".$page;  
  52. Exit; //開源軟件:phpfensi.com  
  53. }  
  54. ?></div><div id="results">  
  55. <?php  
  56. echo $pagenav;//輸出分頁導航  
  57. ?>  
  58. </div>  
  59. </body>  
  60. </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. }  
  17. #result ul li a:link{  
  18. width:50px;  
  19. height:20px;  
  20. display:block;  
  21. line-height:20px;  
  22. background:#09C;  
  23. border:1px solid #fff;  
  24. color:#fff;  
  25. text-decoration:none;  
  26. }  
  27. #result ul li a:hover{  
  28. width:50px;  
  29. height:20px;  
  30. display:block;  
  31. line-height:20px;  
  32. background:#09C;  
  33. border:1px solid #fff;  
  34. color:#F60;  
  35. text-decoration:none;  

ajaxpg.js文件,如下:

 

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

數據庫文件,如下:

 

 
  1. -- phpMyAdmin SQL Dump  
  2. -- version 2.8.1  
  3. -- 主機: localhost  
  4. -- 服務器版本: 5.0.22  
  5. -- PHP 版本: 5.2.12  
  6. --  
  7. -- 數據庫: `demo`  
  8. --  
  9. -- --------------------------------------------------------  
  10. --  
  11. -- 表的結構 `brand`  
  12. --  
  13. CREATE TABLE `brand` (  
  14. `id` int(7) NOT NULL auto_increment,  
  15. `sp_brand` varchar(255) default NULL,  
  16. PRIMARY KEY (`id`)  
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;  
  18. --  
  19. -- 導出表中的數據 `brand`  
  20. --  
  21. INSERT INTO `brand` (`id`, `sp_brand`) VALUES (1, 'hello world'),  
  22. (2, '你好'),  
  23. (3, '恩'),  
  24. (4, 'fdsafdsafdsa'),  
  25. (5, 'fdsafdafdsafdas'),  
  26. (6, 'fdsafdsa'),  
  27. (7, 'fdsafdsafdas'),  
  28. (8, '恩'),  
  29. (9, '恩'),  
  30. (10, '恩'),  
  31. (11, '恩11'),  
  32. (12, '恩'),  
  33. (13, '恩'),  
  34. (14, '恩'),  
  35. (15, '恩'),  
  36. (16, '恩'),  
  37. (17, '恩'),  
  38. (18, '恩18');  

下面介紹這些文件的功能

ajaxpg.js:

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

index.php:

實現ajax無刷新的文件了,這里調用了ajaxpg.js文件,配置了mysql用戶密碼,要和自己本地的一致,以及顯示分頁的效果.

page.css:

這是分頁的CSS樣式文件,用來美化的,就不多介紹了.

brand.sql:

這是MYSQL數據庫的文件了,進行導入到MYSQL數據庫中,同樣,如果不會導入,可以參考PHPfensi.com中如何導入.sql文章即可。

例子非常的簡單大家只要按流程來操作就ok啦,希望這篇文章能幫助大家真正的實現php+ajax無刷新分頁。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片视频网址 | a级毛片免费观看在线播放 日本aaa一级片 | 久久综合久久美利坚合众国 | 欧美黄成人免费网站大全 | 国产在线久 | 国产精品视频在 | 中文字幕在线观看视频一区 | 宅男噜噜噜66国产在线观看 | 一级电影免费 | 超久久 | 久久国产成人午夜av浪潮 | 久久精品视频首页 | 免费看一级视频 | 免费毛片播放 | 亚洲午夜影院在线观看 | 久久久国产精品网站 | 中文字幕亚洲情99在线 | 韩国精品视频在线观看 | 久久久噜噜噜久久熟有声小说 | 黄色毛片免费看 | 精国产品一区二区三区四季综 | 国产寡妇xxxxxxxx性开放 | 久久久成人精品视频 | 免费观看视频在线观看 | 亚洲一区在线视频观看 | 国产精品91在线 | 激情视频免费看 | 狠狠撸电影 | 久久新网址 | 最新一级毛片 | 日韩精品中文字幕一区 | 欧美77| 深夜福利久久久 | www.com香蕉 | 妇女毛片 | 一级做a爰片性色毛片2021 | 色99久久| 日本在线免费观看视频 | 久久青草热 | 激情久久精品 | 美女性感毛片 |