zoukankan      html  css  js  c++  java
  • Ajax做分页

    Ajax做分页
    用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数。
    
    1.设置分页显示显示的样式,显示效果如下。
    
    复制代码
    <style type="text/css">
    *{ margin:0px auto; padding:0px; font-family:"微软雅黑"}
    .b3{ list-style:none; 400px; height:30px; font-size:16px; text-align:center; line-height:30px; vertical-align:middle; position:relative}
    .b4{ 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; 60px; float:left}
    #fy_xia{ font-size:16px; text-align:center; line-height:30px; vertical-align:middle; 60px}
    #fy_shang:hover{ cursor:pointer; background-color:#FC6}
    #fy_xia:hover{ cursor:pointer; background-color:#FC6}
    </style>
    复制代码
    
    
     
    
    2.页数显示代码容器,把这段代码放在</table>后面。
    
    复制代码
    <!--分页开始-->
    <center>
    <ul class="pagination b3" id="fy_list">       
    </ul>
    <input type="hidden" value="1" id="fy_n" />
    </center>
    <!--分页结束-->  
    复制代码
     
    
    3.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();
        })
      }
    复制代码
     
    
    4.如果要加上关键字查询功能,现在表格上面加上关键字输入框。
    
    关键字:<input id="guanjianzi" type="text" name="key" />    
    然后在js代码中多写一步,其实就是重复显示效果的js代码,里面加上条件。下面是分页显示+关键字查询所有的代码。
    
    复制代码
    //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>
    复制代码
     
    
    5.处理页面1  shipinguanlichuli.php
    
    复制代码
    <?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));
    复制代码
     
    
    6.处理页面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.设置分页显示显示的样式,显示效果如下。

    复制代码
    <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>
    复制代码

     

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

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

     

    3.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();
        })
      }
    复制代码

     

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

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

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

    复制代码
    //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>
    复制代码

     

    5.处理页面1  shipinguanlichuli.php

    复制代码
    <?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));
    复制代码

     

    6.处理页面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;
    复制代码
  • 相关阅读:
    python高级特性和高阶函数
    代理模式及案例
    我的报错错误记录
    摘抄-编码规范
    测试java的Lambda语法
    测试IDEA将新建项目提交到github上
    js处理科学计数法
    测试java操作运算符
    java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)
    sqlserver日期函数
  • 原文地址:https://www.cnblogs.com/benpaodegegen/p/6135448.html
Copyright © 2011-2022 走看看