今天我們要用ajax做一個分頁:
實現(xiàn)Ajax分頁:
如果可以的話加上查詢條件
- 找一張表做分頁
- 分頁不使用page類
- 頁面不用刷新
- Ajax加載數(shù)據(jù)
!doctype html>
html lang="en">
head>
meta charset="UTF-8" />
title>Document/title>
script src="jquery-1.11.2.min.js">/script>
style type="text/css">
.dangqian{ background-color:#69F}
/style>
/head>
body>
div>
input type="text" id="key" />
input type="button" value="查詢" id="chaxun" />
/div>
table width="50%" border="1" bordercolordark="0" bordercolorlight="0">
tr>
td>代號/td>
td>名稱/td>
td>父級代號/td>
/tr>
tbody id="neirong">!--顯示內(nèi)容-->
/tbody>
/table>
div id="fenyexinxi">
/div>
/body>
script type="text/javascript">
var page = 1;//定個變量,當(dāng)前要顯示的頁
Load();//加載數(shù)據(jù)
Loadfenyexinxi();//加載分頁信息
//查詢
$("#chaxun").click(function(){
page = 1;
Load();//加載數(shù)據(jù)
Loadfenyexinxi();//加載分頁信息
})
function Load()
{
var key = $("#key").val();//查詢條件。用戶輸入的內(nèi)容
$.ajax({
url:"chuli.php",
data: {
page: page,
key: key
},//傳2個參數(shù)一當(dāng)前頁2關(guān)鍵字也就是查詢條件
type:"POST",
dataType:"JSON",
success: function(data){//匿名函數(shù)
var str = "";//這個將來要放表格顯示的
for(var k in data)//通過K可以獲得每一條數(shù)據(jù)
{//加載數(shù)據(jù)完成
str +="tr>td>"+data[k].AreaCode+"/td>td>"+data[k].AreaName+"/td>td>"+data[k].ParentAreaCode+"/td>/tr>";//要顯示的內(nèi)容,代號、名稱父級代號
}
$("#neirong").html(str);
}
});
}
function Loadfenyexinxi()//分頁信息
{
var str = "";
var minys = 1;//最小頁數(shù)
var maxys = 1;//最大頁數(shù)
var key = $("#key").val();//取關(guān)鍵字用于傳到zys頁面用
$.ajax({
async:false,
type:"POST",
url:"fenye.php",
data:{key:key},
dataType:"TEXT",
success:function(d){
maxys = d;
}
});
str += "span style='text-decoration:underline; cursor:pointer'>總共:"+maxys+"頁/span> ";
str += "span id='prev' style='text-decoration:underline; cursor:pointer'>上一頁/span>";
for(var i=page-2;ipage+3;i++)
{
if(i>=minys i=maxys)
{
if(i==page)
{
str += "span style='text-decoration:underline; cursor:pointer' class='dangqian' bs='"+i+"'>"+i+"/span> ";
}
else
{
str += "span style='text-decoration:underline; cursor:pointer' class='list' bs='"+i+"'>"+i+"/span> ";
}
}
}
str += "span style='text-decoration:underline; cursor:pointer' id='next'>下一頁/span>";
$("#fenyexinxi").html(str);
$("#prev").click(function(){
page = page-1;
if(page1)
{
page=1;
}
Load();
Loadfenyexinxi();
})
$("#next").click(function(){
page = page+1;
if(page>maxys)
{
page=maxys;
}
Load();
Loadfenyexinxi();
})
$(".list").click(function(){
page = parseInt($(this).attr("bs"));
Load();
Loadfenyexinxi();
})
}
/script>
/html>
上面是這頁面:test.php
?php
include("DBDA.class.php");
$db = new DBDA();
//把上個頁面的2個值傳過來
$page = $_POST["page"];//當(dāng)前頁
$key = $_POST["key"];//條件,關(guān)鍵字
$num = 20;//定義,一頁里多少條數(shù)據(jù),
$tiaoshu = ($page-1)*$num;//$tiaoshu跳過多少條($page-1)*$num現(xiàn)在$num是20條
//寫$SQL語句
$sql = "select * from chinastates where areaname like '%{$key}%' limit {$tiaoshu},{$num}";//根據(jù)關(guān)鍵字查like '%{$tiaojian}%'。
echo $db->JSONQuery($sql);
上面是處理頁面:chuli.php:
?php
include("DBDA.class.php");
$db = new DBDA();
$key = $_POST["key"];
$num = 20;
$sql = "select count(*) from chinastates where areaname like '%{$key}%'";
$zts = $db->StrQuery($sql);
echo ceil($zts/$num);
上面是分頁頁面:fenye.php
下面就是我們的顯示效果:
![](/d/20211017/3e8e9293dd28988fa06e730dde2eda56.gif)
隨著點擊下一頁,下面會顯示5頁,并且是當(dāng)前頁左右各兩個頁面,每頁的顯示信息條數(shù)可以自己調(diào)整。
在上方的文本框中輸入關(guān)鍵詞會顯示出相關(guān)的信息。這就是我們用ajax做的分頁。
以上所述是小編給大家介紹的Ajax實現(xiàn)無刷新分頁實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- Bootstrap Paginator分頁插件與ajax相結(jié)合實現(xiàn)動態(tài)無刷新分頁效果
- 實例代碼講解ajax實現(xiàn)的無刷新分頁
- php+ajax實現(xiàn)無刷新分頁
- php+ajax實現(xiàn)無刷新數(shù)據(jù)分頁的辦法
- jQuery+Ajax實現(xiàn)無刷新分頁
- jquery插件pagination實現(xiàn)無刷新ajax分頁
- Ajax無刷新分頁的性能優(yōu)化方法