Ajax做分页

时间:2023-03-08 16:29:00
Ajax做分页
用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数。 .设置分页显示显示的样式,显示效果如下。 复制代码
<style type="text/css">
*{ margin:0px auto; padding:0px; font-family:"微软雅黑"}
.b3{ list-style:none; width:400px; height:30px; font-size:16px; text-align:center; line-height:30px; vertical-align:middle; position:relative}
.b4{ width:50px; height:30px; float:left; font-size:20px; text-align:center; line-height:30px; vertical-align:middle}
.b4:hover{ cursor:pointer; background-color:#FC6}
#fy_shang{ font-size:16px; text-align:center; line-height:30px; vertical-align:middle; width:60px; float:left}
#fy_xia{ font-size:16px; text-align:center; line-height:30px; vertical-align:middle; width:60px}
#fy_shang:hover{ cursor:pointer; background-color:#FC6}
#fy_xia:hover{ cursor:pointer; background-color:#FC6}
</style>
复制代码 .页数显示代码容器,把这段代码放在</table>后面。 复制代码
<!--分页开始-->
<center>
<ul class="pagination b3" id="fy_list">
</ul>
<input type="hidden" value="" id="fy_n" />
</center>
<!--分页结束-->
复制代码 .ajax实现分页的代码 复制代码
//ajax分页开始
$(document).ready(function(e) {
JiaZai();
var zys = ;
//页面加载数据
})
function JiaZai()
{
var n = $("#fy_n").val();//页数显示框里面显示的页数
$.ajax({
url:"shipinguanlichuli.php",
data:{n:n,gjz:""},//n是显示的页数。gjz是表格显示中有关键字查询,这里gjz传一个空值,意思是没有查询条件,查询所有的。
type:"POST",
dataType:"JSON",
success: function(data){
var s ="";
for(var i in data)
{
s+="<tr><td><input type='checkbox' class='qx' value='"+data[i].id+"' name='sc[]' /></td><td class='hidden-xs'>"+data[i].id+"</td><td>"+data[i].name+"</td><td class='hidden-xs'>"+data[i].details+"</td><td class='hidden-xs'>"+data[i].wprice+"</td><td class='hidden-xs'>"+data[i].dprice+"</td><td class='hidden-xs'>"+data[i].class+"</td><td><a href='xiugai.php?c="+data[i].id+"'>修改</a></td><td><a href='shanchuchuli.php?c="+data[i].id+"' onclick=\"return confirm('确定删除吗?')\">删除</a></td></tr>";//拼接表格显示内容
}
$("#a22").html(s);//把拼接好的字符串放到要显示的div里面。
}
}); //获取分页数(列表)
$.ajax({
url:"zyschuli3.php",
type:"POST",
dataType:"TEXT",
success: function(data){
//总页数
var ys = Math.ceil(data/);
zys = ys;
var s = "<div><a id='fy_shang' class='b4'>上一页</a></div>";
var dangqian = $("#fy_n").val(); //当前页数
for(var i=dangqian-;i<=dangqian+;i++)
{
if(i> && i<=ys)
{
if(dangqian==i)
{
s+="<div class='b4' class='active'><a class='fy_zhong b4'>"+i+"</a></div>";
}
else
{
s+="<div class='b4'><a class='fy_zhong'>"+i+"</a></div>"
}
}
}
s += "<div><a id='fy_xia' class='b4'>下一页</a></div>";
$("#fy_list").html(s); //给分页列表加事件
JiaShiJian();
}
})
  //给分页列表加事件的方法
  function JiaShiJian()
  {
    $("#fy_shang").click(function(){
    var n = $("#fy_n").val();
    if(n>)
    {
      n--;
    }
    else
    {
      n=;
    }
      $("#fy_n").val(n);     //加载数据
    JiaZai();
    })
    $("#fy_xia").click(function(){
    var n = $("#fy_n").val();
    if(n<zys)
    {
      n++;
    }
    else
    {
      n=zys;
    }
    $("#fy_n").val(n);     //加载数据
    JiaZai();
    })
      $(".fy_zhong").click(function(){
      var n = $(this).text();
      $("#fy_n").val(n);     //加载数据
    JiaZai();
    })
  }
复制代码 .如果要加上关键字查询功能,现在表格上面加上关键字输入框。 关键字:<input id="guanjianzi" type="text" name="key" />
然后在js代码中多写一步,其实就是重复显示效果的js代码,里面加上条件。下面是分页显示+关键字查询所有的代码。 复制代码
//ajax分页开始
$(document).ready(function(e) {
JiaZai();
var zys = ;
//页面加载数据
})
function JiaZai()
{
var n = $("#fy_n").val();//页数显示框里面显示的页数
$.ajax({
url:"shipinguanlichuli.php",
data:{n:n,gjz:""},//n是显示的页数。gjz是表格显示中有关键字查询,这里gjz传一个空值,意思是没有查询条件,查询所有的。
type:"POST",
dataType:"JSON",
success: function(data){
var s ="";
for(var i in data)
{
s+="<tr><td><input type='checkbox' class='qx' value='"+data[i].id+"' name='sc[]' /></td><td class='hidden-xs'>"+data[i].id+"</td><td>"+data[i].name+"</td><td class='hidden-xs'>"+data[i].details+"</td><td class='hidden-xs'>"+data[i].wprice+"</td><td class='hidden-xs'>"+data[i].dprice+"</td><td class='hidden-xs'>"+data[i].class+"</td><td><a href='xiugai.php?c="+data[i].id+"'>修改</a></td><td><a href='shanchuchuli.php?c="+data[i].id+"' onclick=\"return confirm('确定删除吗?')\">删除</a></td></tr>";//拼接表格显示内容
}
$("#a22").html(s);//把拼接好的字符串放到要显示的div里面。
}
}); //获取分页数(列表)
$.ajax({
url:"zyschuli3.php",
type:"POST",
dataType:"TEXT",
success: function(data){
//总页数
var ys = Math.ceil(data/);
zys = ys;
var s = "<div><a id='fy_shang' class='b4'>上一页</a></div>";
var dangqian = $("#fy_n").val(); //当前页数
for(var i=dangqian-;i<=dangqian+;i++)
{
if(i> && i<=ys)
{
if(dangqian==i)
{
s+="<div class='b4' class='active'><a class='fy_zhong b4'>"+i+"</a></div>";
}
else
{
s+="<div class='b4'><a class='fy_zhong'>"+i+"</a></div>"
}
}
}
s += "<div><a id='fy_xia' class='b4'>下一页</a></div>";
$("#fy_list").html(s); //给分页列表加事件
JiaShiJian();
}
}) $("#guanjianzi").keyup(function(){
var gjz = $(this).val();
var n = $("#fy_n").val();
$.ajax({
url:"shipinguanlichuli.php",
data:{n:n,gjz:gjz},
type:"POST",
dataType:"JSON",
success: function(data){
var s ="";
for(var i in data)
{
s+="<tr><td><input type='checkbox' class='qx' value='"+data[i].id+"' name='sc[]' /></td><td class='hidden-xs'>"+data[i].id+"</td><td>"+data[i].name+"</td><td class='hidden-xs'>"+data[i].details+"</td><td class='hidden-xs'>"+data[i].wprice+"</td><td class='hidden-xs'>"+data[i].dprice+"</td><td class='hidden-xs'>"+data[i].class+"</td><td><a href='xiugai.php?c="+data[i].id+"'>修改</a></td><td><a href='shanchuchuli.php?c="+data[i].id+"' onclick=\"return confirm('确定删除吗?')\">删除</a></td></tr>";
}
$("#a22").html(s);
}
});
//获取分页数(列表)
//var guanjianzi = $("#guanjianzi").val();
$.ajax({
url:"zyschuli3.php",
data:{gjz:gjz},
type:"POST",
dataType:"TEXT",
success: function(data){
//总页数
var ys = Math.ceil(data/);
zys = ys;
var s = "<li><a id='fy_shang' class='b4'>上一页</a></li>";
var dangqian = $("#fy_n").val(); //当前页数 for(var i=dangqian-;i<=dangqian+;i++)
{
if(i> && i<=ys)
{
if(dangqian==i)
{
s+="<li class='active'><a class='fy_zhong b4'>"+i+"</a></li>";
}
else
{
s+="<li><a class='fy_zhong b4'>"+i+"</a></li>"
}
}
}
s += "<li><a id='fy_xia' class='b4'>下一页</a></li>";
$("#fy_list").html(s); //给分页列表加事件
JiaShiJian();
}
})
});
} //给分页列表加事件的方法
function JiaShiJian()
{
$("#fy_shang").click(function(){
var n = $("#fy_n").val();
if(n>)
{
n--;
}
else
{
n=;
}
$("#fy_n").val(n); //加载数据
JiaZai();
})
$("#fy_xia").click(function(){
var n = $("#fy_n").val();
if(n<zys)
{
n++;
}
else
{
n=zys;
}
$("#fy_n").val(n); //加载数据
JiaZai();
})
$(".fy_zhong").click(function(){
var n = $(this).text();
$("#fy_n").val(n); //加载数据
JiaZai();
})
}
</script>
复制代码 .处理页面1 shipinguanlichuli.php 复制代码
<?php
include("./DBDA.class.php");
$db = new DBDA();
$n = $_POST["n"];//获取页数显示框里面的值
$tg = ($n-)*;//每页显示15条数据,这里显示的就是当前页的15条数据。
$tj1 = " 1=1 ";//默认条件是个恒成立的,如果没有其他条件就是查询所有的。
if(!empty($_POST["gjz"]))//获取提交的关键字
{
$gjz = $_POST["gjz"];
$tj1 = " name like '%{$gjz}%' or details like '%{$gjz}%' or dprice like '%{$gjz}%' or dprice like '%{$gjz}%' ";//拼接查询条件
}
$sqlsj = "select * from product where {$tj1} limit {$tg},15 ";
echo json_encode($db->GuanQuery($sqlsj));
复制代码 .处理页面2 zyschuli3.php 复制代码
<?php
include("DBDA.class.php");
$db = new DBDA();
$tj1 = " 1=1 ";//默认条件是个恒成立的,如果没有其他条件就是查询所有的。
if(!empty($_POST["gjz"]))//获取提交的关键字
{
$gjz = $_POST["gjz"];
$tj1 = " name like '%{$gjz}%' or details like '%{$gjz}%' or dprice like '%{$gjz}%' or dprice like '%{$gjz}%' ";//拼接查询条件
}
$sql ="select count(*) from product where {$tj1}";//查询符合条件的数据的总条数
$sj = $db->StrQuery($sql);
echo $sj;
复制代码

Ajax做分页

用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数。

1.设置分页显示显示的样式,显示效果如下。

Ajax做分页
<style type="text/css">
*{ margin:0px auto; padding:0px; font-family:"微软雅黑"}
.b3{ list-style:none; width:400px; height:30px; font-size:16px; text-align:center; line-height:30px; vertical-align:middle; position:relative}
.b4{ width:50px; height:30px; float:left; font-size:20px; text-align:center; line-height:30px; vertical-align:middle}
.b4:hover{ cursor:pointer; background-color:#FC6}
#fy_shang{ font-size:16px; text-align:center; line-height:30px; vertical-align:middle; width:60px; float:left}
#fy_xia{ font-size:16px; text-align:center; line-height:30px; vertical-align:middle; width:60px}
#fy_shang:hover{ cursor:pointer; background-color:#FC6}
#fy_xia:hover{ cursor:pointer; background-color:#FC6}
</style>
Ajax做分页

Ajax做分页

2.页数显示代码容器,把这段代码放在</table>后面。

Ajax做分页
<!--分页开始-->
<center>
<ul class="pagination b3" id="fy_list">
</ul>
<input type="hidden" value="1" id="fy_n" />
</center>
<!--分页结束-->
Ajax做分页

3.ajax实现分页的代码

Ajax做分页
//ajax分页开始
$(document).ready(function(e) {
JiaZai();
var zys = 0;
//页面加载数据
})
function JiaZai()
{
var n = $("#fy_n").val();//页数显示框里面显示的页数
$.ajax({
url:"shipinguanlichuli.php",
data:{n:n,gjz:""},//n是显示的页数。gjz是表格显示中有关键字查询,这里gjz传一个空值,意思是没有查询条件,查询所有的。
type:"POST",
dataType:"JSON",
success: function(data){
var s ="";
for(var i in data)
{
s+="<tr><td><input type='checkbox' class='qx' value='"+data[i].id+"' name='sc[]' /></td><td class='hidden-xs'>"+data[i].id+"</td><td>"+data[i].name+"</td><td class='hidden-xs'>"+data[i].details+"</td><td class='hidden-xs'>"+data[i].wprice+"</td><td class='hidden-xs'>"+data[i].dprice+"</td><td class='hidden-xs'>"+data[i].class+"</td><td><a href='xiugai.php?c="+data[i].id+"'>修改</a></td><td><a href='shanchuchuli.php?c="+data[i].id+"' onclick=\"return confirm('确定删除吗?')\">删除</a></td></tr>";//拼接表格显示内容
}
$("#a22").html(s);//把拼接好的字符串放到要显示的div里面。
}
}); //获取分页数(列表)
$.ajax({
url:"zyschuli3.php",
type:"POST",
dataType:"TEXT",
success: function(data){
//总页数
var ys = Math.ceil(data/15);
zys = ys;
var s = "<div><a id='fy_shang' class='b4'>上一页</a></div>";
var dangqian = $("#fy_n").val(); //当前页数
for(var i=dangqian-2;i<=dangqian+2;i++)
{
if(i>0 && i<=ys)
{
if(dangqian==i)
{
s+="<div class='b4' class='active'><a class='fy_zhong b4'>"+i+"</a></div>";
}
else
{
s+="<div class='b4'><a class='fy_zhong'>"+i+"</a></div>"
}
}
}
s += "<div><a id='fy_xia' class='b4'>下一页</a></div>";
$("#fy_list").html(s); //给分页列表加事件
JiaShiJian();
}
})
  //给分页列表加事件的方法
  function JiaShiJian()
  {
    $("#fy_shang").click(function(){
    var n = $("#fy_n").val();
    if(n>1)
    {
      n--;
    }
    else
    {
      n=1;
    }
      $("#fy_n").val(n);     //加载数据
    JiaZai();
    })
    $("#fy_xia").click(function(){
    var n = $("#fy_n").val();
    if(n<zys)
    {
      n++;
    }
    else
    {
      n=zys;
    }
    $("#fy_n").val(n);     //加载数据
    JiaZai();
    })
      $(".fy_zhong").click(function(){
      var n = $(this).text();
      $("#fy_n").val(n);     //加载数据
    JiaZai();
    })
  }
Ajax做分页

4.如果要加上关键字查询功能,现在表格上面加上关键字输入框。

关键字:<input id="guanjianzi" type="text" name="key" />    

然后在js代码中多写一步,其实就是重复显示效果的js代码,里面加上条件。下面是分页显示+关键字查询所有的代码。

Ajax做分页
//ajax分页开始
$(document).ready(function(e) {
JiaZai();
var zys = 0;
//页面加载数据
})
function JiaZai()
{
var n = $("#fy_n").val();//页数显示框里面显示的页数
$.ajax({
url:"shipinguanlichuli.php",
data:{n:n,gjz:""},//n是显示的页数。gjz是表格显示中有关键字查询,这里gjz传一个空值,意思是没有查询条件,查询所有的。
type:"POST",
dataType:"JSON",
success: function(data){
var s ="";
for(var i in data)
{
s+="<tr><td><input type='checkbox' class='qx' value='"+data[i].id+"' name='sc[]' /></td><td class='hidden-xs'>"+data[i].id+"</td><td>"+data[i].name+"</td><td class='hidden-xs'>"+data[i].details+"</td><td class='hidden-xs'>"+data[i].wprice+"</td><td class='hidden-xs'>"+data[i].dprice+"</td><td class='hidden-xs'>"+data[i].class+"</td><td><a href='xiugai.php?c="+data[i].id+"'>修改</a></td><td><a href='shanchuchuli.php?c="+data[i].id+"' onclick=\"return confirm('确定删除吗?')\">删除</a></td></tr>";//拼接表格显示内容
}
$("#a22").html(s);//把拼接好的字符串放到要显示的div里面。
}
}); //获取分页数(列表)
$.ajax({
url:"zyschuli3.php",
type:"POST",
dataType:"TEXT",
success: function(data){
//总页数
var ys = Math.ceil(data/15);
zys = ys;
var s = "<div><a id='fy_shang' class='b4'>上一页</a></div>";
var dangqian = $("#fy_n").val(); //当前页数
for(var i=dangqian-2;i<=dangqian+2;i++)
{
if(i>0 && i<=ys)
{
if(dangqian==i)
{
s+="<div class='b4' class='active'><a class='fy_zhong b4'>"+i+"</a></div>";
}
else
{
s+="<div class='b4'><a class='fy_zhong'>"+i+"</a></div>"
}
}
}
s += "<div><a id='fy_xia' class='b4'>下一页</a></div>";
$("#fy_list").html(s); //给分页列表加事件
JiaShiJian();
}
}) $("#guanjianzi").keyup(function(){
var gjz = $(this).val();
var n = $("#fy_n").val();
$.ajax({
url:"shipinguanlichuli.php",
data:{n:n,gjz:gjz},
type:"POST",
dataType:"JSON",
success: function(data){
var s ="";
for(var i in data)
{
s+="<tr><td><input type='checkbox' class='qx' value='"+data[i].id+"' name='sc[]' /></td><td class='hidden-xs'>"+data[i].id+"</td><td>"+data[i].name+"</td><td class='hidden-xs'>"+data[i].details+"</td><td class='hidden-xs'>"+data[i].wprice+"</td><td class='hidden-xs'>"+data[i].dprice+"</td><td class='hidden-xs'>"+data[i].class+"</td><td><a href='xiugai.php?c="+data[i].id+"'>修改</a></td><td><a href='shanchuchuli.php?c="+data[i].id+"' onclick=\"return confirm('确定删除吗?')\">删除</a></td></tr>";
}
$("#a22").html(s);
}
});
//获取分页数(列表)
//var guanjianzi = $("#guanjianzi").val();
$.ajax({
url:"zyschuli3.php",
data:{gjz:gjz},
type:"POST",
dataType:"TEXT",
success: function(data){
//总页数
var ys = Math.ceil(data/15);
zys = ys;
var s = "<li><a id='fy_shang' class='b4'>上一页</a></li>";
var dangqian = $("#fy_n").val(); //当前页数 for(var i=dangqian-2;i<=dangqian+2;i++)
{
if(i>0 && i<=ys)
{
if(dangqian==i)
{
s+="<li class='active'><a class='fy_zhong b4'>"+i+"</a></li>";
}
else
{
s+="<li><a class='fy_zhong b4'>"+i+"</a></li>"
}
}
}
s += "<li><a id='fy_xia' class='b4'>下一页</a></li>";
$("#fy_list").html(s); //给分页列表加事件
JiaShiJian();
}
})
});
} //给分页列表加事件的方法
function JiaShiJian()
{
$("#fy_shang").click(function(){
var n = $("#fy_n").val();
if(n>1)
{
n--;
}
else
{
n=1;
}
$("#fy_n").val(n); //加载数据
JiaZai();
})
$("#fy_xia").click(function(){
var n = $("#fy_n").val();
if(n<zys)
{
n++;
}
else
{
n=zys;
}
$("#fy_n").val(n); //加载数据
JiaZai();
})
$(".fy_zhong").click(function(){
var n = $(this).text();
$("#fy_n").val(n); //加载数据
JiaZai();
})
}
</script>
Ajax做分页

5.处理页面1  shipinguanlichuli.php

Ajax做分页
<?php
include("./DBDA.class.php");
$db = new DBDA();
$n = $_POST["n"];//获取页数显示框里面的值
$tg = ($n-1)*15;//每页显示15条数据,这里显示的就是当前页的15条数据。
$tj1 = " 1=1 ";//默认条件是个恒成立的,如果没有其他条件就是查询所有的。
if(!empty($_POST["gjz"]))//获取提交的关键字
{
$gjz = $_POST["gjz"];
$tj1 = " name like '%{$gjz}%' or details like '%{$gjz}%' or dprice like '%{$gjz}%' or dprice like '%{$gjz}%' ";//拼接查询条件
}
$sqlsj = "select * from product where {$tj1} limit {$tg},15 ";
echo json_encode($db->GuanQuery($sqlsj));
Ajax做分页

6.处理页面2 zyschuli3.php

Ajax做分页
<?php
include("DBDA.class.php");
$db = new DBDA();
$tj1 = " 1=1 ";//默认条件是个恒成立的,如果没有其他条件就是查询所有的。
if(!empty($_POST["gjz"]))//获取提交的关键字
{
$gjz = $_POST["gjz"];
$tj1 = " name like '%{$gjz}%' or details like '%{$gjz}%' or dprice like '%{$gjz}%' or dprice like '%{$gjz}%' ";//拼接查询条件
}
$sql ="select count(*) from product where {$tj1}";//查询符合条件的数据的总条数
$sj = $db->StrQuery($sql);
echo $sj;
Ajax做分页