zoukankan      html  css  js  c++  java
  • 用ajax实现不刷新分页

    今天我们要用ajax做一个分页:

    实现Ajax分页:

    如果可以的话加上查询条件

    1. 找一张表做分页
    2. 分页不使用page类
    3. 页面不用刷新
    4. Ajax加载数据
      1 <!doctype html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8" />
      5     <title>Document</title>
      6      
      7     <script src="jquery-1.11.2.min.js"></script>
      8 <style type="text/css">
      9 .dangqian{ background-color:#69F}
     10 </style>
     11 </head>
     12 <body>
     13 <div>
     14     <input type="text" id="key" />
     15     <input type="button" value="查询" id="chaxun" />
     16 </div>
     17 <table width="50%" border="1" bordercolordark="0" bordercolorlight="0">
     18     <tr>
     19         <td>代号</td>
     20         <td>名称</td>
     21         <td>父级代号</td>
     22     </tr>
     23     <tbody id="neirong"><!--显示内容-->
     24              
     25     </tbody>
     26 </table>
     27 <div id="fenyexinxi">
     28          
     29 </div>
     30 </body>
     31 <script type="text/javascript">
     32  
     33     var page = 1;//定个变量,当前要显示的页
     34      
     35     Load();//加载数据
     36     Loadfenyexinxi();//加载分页信息
     37     //查询
     38     $("#chaxun").click(function(){
     39         page = 1;
     40         Load();//加载数据
     41         Loadfenyexinxi();//加载分页信息
     42     })
     43     function Load()
     44     {
     45         var key = $("#key").val();//查询条件。用户输入的内容
     46         $.ajax({
     47             url:"chuli.php",
     48             data: {
     49             page: page,
     50             key: key
     51         },//传2个参数一当前页2关键字也就是查询条件
     52             type:"POST",
     53             dataType:"JSON",
     54             success: function(data){//匿名函数
     55                     var str = "";//这个将来要放表格显示的
     56                     for(var k in data)//通过K可以获得每一条数据
     57                     {//加载数据完成
     58                         str +="<tr><td>"+data[k].AreaCode+"</td><td>"+data[k].AreaName+"</td><td>"+data[k].ParentAreaCode+"</td></tr>";//要显示的内容,代号、名称父级代号
     59                     }
     60                     $("#neirong").html(str);
     61             }
     62         });
     63     }
     64 function Loadfenyexinxi()//分页信息
     65 {
     66     var str = "";
     67     var minys = 1;//最小页数
     68     var maxys = 1;//最大页数
     69     var key = $("#key").val();//取关键字用于传到zys页面用
     70      
     71     
     72     $.ajax({
     73         async:false,
     74         type:"POST",
     75         url:"fenye.php",
     76         data:{key:key},
     77         dataType:"TEXT",
     78         success:function(d){
     79                 maxys = d;
     80         }
     81     });
     82     str += "<span style='text-decoration:underline; cursor:pointer'>总共:"+maxys+"页</span>  ";
     83     str += "<span id='prev' style='text-decoration:underline; cursor:pointer'>上一页</span>";
     84     
     85     for(var i=page-2;i<page+3;i++)
     86     {
     87         if(i>=minys && i<=maxys)
     88         {
     89             if(i==page)
     90             {
     91                 str += "<span style='text-decoration:underline; cursor:pointer' class='dangqian' bs='"+i+"'>"+i+"</span>  ";
     92             }
     93             else
     94             {
     95                 str += "<span style='text-decoration:underline; cursor:pointer' class='list' bs='"+i+"'>"+i+"</span>  ";
     96             }
     97          
     98         }
     99     }
    100      
    101     str += "<span style='text-decoration:underline; cursor:pointer' id='next'>下一页</span>";
    102     $("#fenyexinxi").html(str);
    103     
    104     $("#prev").click(function(){
    105             page = page-1;
    106             if(page<1)
    107             {
    108                 page=1;
    109             }
    110             Load();
    111             Loadfenyexinxi();
    112         })
    113     $("#next").click(function(){
    114             page = page+1;
    115             if(page>maxys)
    116             {
    117                 page=maxys;
    118             }
    119             Load();
    120             Loadfenyexinxi();
    121         })
    122         
    123     
    124     
    125     $(".list").click(function(){
    126             page = parseInt($(this).attr("bs"));
    127             Load();
    128             Loadfenyexinxi();
    129         })
    130  
    131 }
    132      
    133 </script>
    134 </html>

    上面是这页面:test.php

     1 <?php
     2  
     3 include("DBDA.class.php");
     4 $db = new DBDA();
     5  
     6 //把上个页面的2个值传过来
     7 $page = $_POST["page"];//当前页
     8 $key = $_POST["key"];//条件,关键字
     9 $num = 20;//定义,一页里多少条数据,
    10 $tiaoshu = ($page-1)*$num;//$tiaoshu跳过多少条($page-1)*$num现在$num是20条
    11 //写$SQL语句
    12 $sql = "select * from chinastates where areaname like '%{$key}%' limit {$tiaoshu},{$num}";//根据关键字查like '%{$tiaojian}%'。
    13 echo $db->JSONQuery($sql);

    上面是处理页面:chuli.php:

     1 <?php
     2 include("DBDA.class.php");
     3 $db = new DBDA();
     4 
     5 $key = $_POST["key"];
     6 $num = 20;
     7 
     8 $sql = "select count(*) from chinastates where areaname like '%{$key}%'";
     9 
    10 $zts = $db->StrQuery($sql);
    11 
    12 echo ceil($zts/$num);

    上面是分页页面:fenye.php

    下面就是我们的显示效果:

    随着点击下一页,下面会显示5页,并且是当前页左右各两个页面,每页的显示信息条数可以自己调整。

    在上方的文本框中输入关键词会显示出相关的信息。这就是我们用ajax做的分页。

  • 相关阅读:
    【POI】使用POI 创建生成XLS,打开xls文件提示【此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数。】
    【提问解答】2017-10-18--如果你有什么问题,可以分享出来,让我帮你一起解决=_=
    【sublime Text】sublime Text3安装可以使xml格式化的插件
    【IntelliJ IDEA】idea上安装Translation插件后,需要AppKey才能生效的解决方案
    【IntelliJ IDEA】使用idea解决新建jsp文件而找不到jsp文件模版的新建选项
    【sublime Text】关闭sublime的更新提醒和激活提醒
    【spring Boot】spring boot获取资源文件的三种方式【两种情况下】
    【spring boot】4.spring boot配置多环境资源文件
    java多线程断点下载原理(代码实例演示)
    Google Chrome Developer Tools
  • 原文地址:https://www.cnblogs.com/axj1993/p/6559786.html
Copyright © 2011-2022 走看看