久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP+Ajax實現的無刷新分頁功能詳解【附demo源碼下載】

這篇文章主要介紹了PHP+Ajax實現的無刷新分頁功能,結合具體實例形式分析了php+ajax通過pdo操作類讀取數據庫并分頁顯示的相關實現技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考

本文實例講述了PHP+Ajax實現的無刷新分頁功能。分享給大家供大家參考,具體如下:

注:本文中使用到的一些類庫在前面文章都能找到源代碼,我會在文中指明鏈接所在,為了縮短文章篇幅,由此帶來的閱讀不便,敬請諒解。

本文講解 Ajax 實現無刷新分頁、實現原理、代碼展示、代碼下載。

這里需要說明一些知識:

1、Ajax 無刷新頁面的好處:提供良好的客戶體驗,通過 Ajax 在后臺從數據庫中取得數據并展示,取締了等待加載頁面而出現的空白狀態;

2、那么,Ajax 無刷新頁面是運行在動態頁面(.php)?還是靜態頁面(.html/.htm/.shtml)?答案是:靜態頁面;

3、實現原理:通過前端 JS 腳本程序與 Ajax 相結合取得從動態頁面返回的數據,并顯示。

好了,下面進行代碼講解:

既然,是運行在靜態頁面上,我們首先先創建一個靜態 HTML 頁面,index.html 的代碼清單如下。

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/ajax.js"></script> <!-- 載入 Ajax 類庫 -->
<title>Ajax 實現無刷新頁面</title>
<style type="text/css">
 body {
  font-size:12px;
 }
</style>
</head>
<body>
 <div id="fpage">數據加載中...</div>
</body>
</html>

代碼清單中,我們加載了一個 Ajax 類庫,這個類庫可以在 http://www.jb51.net/article/82066.htm 文章中找到(并附有使用方法)

在這個靜態頁面中,只會顯示一個“數據加載中....”,并沒有任何數據。這時,我們就需要一個 JS 腳本來實現通過 Ajax 從數據庫中獲取數據。JS 腳本如下:

<script type="text/javascript">
 /**
 * setPage(url) 根據 url 從 article.php 中獲取數據
 * @param int pageNum 頁碼
 * @return string
 */
 var cache=new Array(); // 緩存變量,當數據被訪問過之后放置在緩存中,加快訪問速度
 function setPage(pageNum) {
  var fpage = document.getElementById('fpage'); // 獲取 fpage 對象
  // 如果緩存中存在數據,那么直接從緩存中讀取;如果不存在數據,那么就從數據庫中讀取,并把數據存入緩存
  if (typeof(cache[pageNum])=='undefined') {
   var ajax = Ajax();
   ajax.get('article.php?page='+pageNum, function(data){
    fpage.innerHTML = data; // fpage對象的內容是從 article.php 中取來的
    cache[pageNum] = data;
   })
  } else {
   fpage.innerHTML = cache[pageNum];
  }
 }
 setPage(1); // 默認執行
</script>

仔細閱讀上面的代碼,您會發現下面現象:

1、setPage(pageNum) 是一個從數據庫中提取數據的 JS 函數接口;
2、Ajax 是通過 article.php 文件來獲取數據;
3、article.php?page=xx,這里的 xx 就是所要取得的頁碼數據,
setPage(1):就是取得第1頁數據;
setPage(2):就是取得第2頁數據;
setPage(100):就是取得第100頁數據;
……
那么,如何從 article.php 文件中取得數據呢?請看下面代碼清單。

article.php

<?php
/**
* $Id: article.php
* author Lee.
* Last modify $Date: 2012-01-21 16:53:05 $
*/
require_once './config.inc.php';
$m = new Model();
$page = new ajaxPage($m->total('article'),20); // $m->total('article') 獲取 article 表的記錄數;10為每頁顯示十條
$result = $m->fetchAll('article', '*', '', '', $page->limit); // 取出數據,^_^,很方便吧
echo '<table align="center" border="1" width="1100" style="border-collapse:collapse;font-size:14px;" bordercolor="#666">';
echo '<caption><h1>華強電子網資訊</h1></caption>';
echo '<tr height="25"><th>ID</th><th>Title</th><th>Author</th><th>Source</th><th>Date</th></tr>';
foreach ($result as $v) {
 echo "<tr height='21'><td align='center'>{$v['id']}</td><td>{$v['title']}</td><td align='center'>{$v['author']}</td><td align='center'>{$v['source']}</td><td align='center'>{$v['date']}</td></tr>";
}
echo '<tr><td align="right" colspan="5">'.$page->fpage().'</td></tr>';
echo '</table>';
?>

article.php 中連接的數據是前面文章從華強電子網抓來的資訊數據,因為數據比較大,代碼打包下載中會附加 article.sql 文件,以便大家測試。

靜態頁面 index.html 上顯示的數據就是 article.php 文件中 echo 的代碼。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
下面小編就為大家分享一篇php 替換文章中的圖片路徑,下載圖片到本地服務器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP給源代碼加密的幾種方法匯總(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇php打開本地exe程序,js打開本地exe應用程序,并傳遞相關參數方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP類的反射來實現依賴注入過程以及相關知識點分享,對此有興趣的朋友跟著小編學習下吧。
php遍歷一個文件夾內的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現達到清空一個目錄的效果。本文給大家分享實例代碼,需要的朋友參考
主站蜘蛛池模板: 欧美日韩综合一区 | 美女黄18岁以下禁止观看 | 伊人免费在线观看高清 | 天天综合国产 | 精品自拍视频在线观看 | 五月婷婷激情网 | 日韩中文字幕视频 | 天天操天天插天天干 | 国产成人在线播放 | 九色综合网| 中文字幕视频三区 | av首页在线| 成人免费视频在线观看 | 97久久精品午夜一区二区 | 久久精品一区 | 中文在线a在线 | 日日天天 | 国产精品久久久久久久久久免费看 | 久久国产精品-国产精品 | 国产免费一区二区 | 91在线视频在线观看 | 国产一区影院 | 日韩中文一区二区三区 | 欧美美女一区二区 | 九九精品视频在线 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 久久小视频 | japanhdxxxx裸体| 中国三级黄色录像 | 色视频一区二区 | 成人免费看黄网站在线观看 | 蜜臀久久 | 国产成人叼嘿视频在线观看 | 国产日韩欧美另类 | 日本色婷婷 | www.国产一区 | av免费网站在线观看 | 91精品国产综合久久香蕉922 | 天天操天天天干 | 久久青| 精品av|