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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM