PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)

时间:2022-09-11 08:13:04

1.首先做主页面ajax_pag.php

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>ajax做分页</title>
    <script src="bootstrap/js/jquery-1.11.2.min.js"></script>
    <script src="ajax_pag.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
    <link href="bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css"/>
  </head>
  <style>
    .header{
      margin-top: 20px;
    }
  </style>
  <body>
    <div >
      关键字:
      <input id="key" type="text" name="gjz"/>
      <input type="button" value="查询" id="ck" />
      
    </div>
    <table class="table table-bordered header">
      <thead>
        <tr>
          <th>地区代号</th>
          <th>地区名称</th>
          <th>父级代号</th>
        </tr>
      </thead>
      <tbody id="list">
 
      </tbody>
    </table>
 
    <div >
      <ul class="pagination" id="fenye">
 
      </ul>
    </div>
 
    </body>
</html>

2.然后做分页查询js页面ajax_pag.js

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//ajax分页开始
    var ts = 10;//每页显示的条数
    var page = 1;//当前页
    $(document).ready(function(e) {
      //页面加载数据
      load();
      //加载分页列表
      loadlist();
      $("#ck").click(function(){   
    //页面加载数据
    load();
    //加载分页列表
    loadlist();   
  })
})       
    
    //加载数据的方法
    function load(){ 
      var gjz = $("#key").val();
        $.ajax({
            async:false,
            url:"pagechuli.php",
            data:{page:page,ts:ts,gjz:gjz},//page是显示的页数;ts是显示的条数
            type:"post",
            datatype:"json",              
            success: function(data){                            
                  var str ="";           
                  for(var k in data)
                  {
                  str +="<tr><td>"+data[k][0]+"</td><td>"+data[k][1]+"</td><td>"+data[k][2]+"</td></tr>";
                  }
                  $("#list").html(str);//把拼接好的字符串放到要显示的thody里面                         
                }
              })
            
    //加载分页列表     
    function loadlist(){
      var str ="";   
      //上一页
      str+="<li><a id='prev'>«</a></li>";
      //加载列表
      for(var i=page-4;i<page+5;i++){
        //限制条件
        if(i>0 && i<=zys()){
        //判断当前页
        if(i==page){ 
          str+= "<li class='active'><a>"+i+"</a></li>"
      }else{
      str+= "<li><a class='item'>"+i+"</a></li>";
      }
    }   
  }
      //下一页
      str+="<li><a id='next'>»</a></li>";
      $("#fenye").html(str);
      
      $("#prev").click(function(){
        if(page>1){
          page--;         
        }
        //页面加载数据
        load();
        //加载分页列表
        loadlist();
      })
      
      $(".item").click(function(){
        var p = $(this).text();//取到的是字符串,转化为整数
        page = parseint(p);
        //页面加载数据
        load();
        //加载分页列表
        loadlist();
      })
      
      $("#next").click(function(){
        if(page<zys()){
          page++;
        }
        //页面加载数据
        load();
        //加载分页列表
        loadlist();
      })
      
    }
  
  
  
  
  //总页数
  function zys(){
    var zys = 0;
    $.ajax({
      async:false,
      url:"zyschuli.php",
      datatype:"text",
      success:function(data){
        zys = math.ceil(data/ts);
      }
    });
    return zys;
  }

3.最后做分页查询处理页面pagechuli.php

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$gjz = $_post["gjz"];
$page = $_post["page"];//获取页数显示值
$ts = $_post["ts"];//获取每页条数显示值
 
require_once "./dbda.class.php";
$db = new dbda();
 
$tj = " 1=1 ";
if(!empty($_post["gjz"])){
  $gjz = $_post["gjz"];
  $tj = " areaname like '%{$gjz}%' or areacode like '%{$gjz}%' or parentareacode like '%{$gjz}%' ";
}
 
$tg = ($page-1)*$ts;//每页显示$ts条数据,这里显示的就是当前页的$tg条数据。
$sql = "select * from chinastates where {$tj} limit {$tg},{$ts}";
echo $db->jsonquery($sql,0)

小插件:总页数的处理页面zyschuli.php

?
1
2
3
4
5
6
<?php
require_once "./dbda.class.php";
$db = new dbda();
 
$sql = "select count(*) from chinastates";
echo $db->strquery($sql,0);

效果如图:PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)

PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)

关键字查询:

PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)

以上这篇php中使用jquery+ajax实现分页查询多功能操作(示例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/jly144000/archive/2017/09/16/7532054.html