ajax分页查询

用ajax实现对数据库的查询以及对查询数据进行分页

主页面代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-1.11.2.min.js"></script>
<style type="text/css">
.dangqian{ background-color:#69F}
</style>
</head>

<body>

<div>
<input type="text" id="key" />
<input type="button" value="查询" id="chaxun" />
</div>

<table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>名称</td>
        <td>父级代号</td>
    </tr>

    <tbody id="nr">

    </tbody>

</table>

<div id="xinxi">

</div>

</body>

js代码

<script type="text/javascript">
var page = 1; //当前页 定义一个变量 当前页

Load(); //加载数据
LoadXinXi(); //加载分页信息

//查询
$("#chaxun").click(function(){
        page = 1;
        Load(); //加载数据
        LoadXinXi(); //加载分页信息
    })
function Load()
{
    var key = $("#key").val(); //查询条件

    $.ajax({
            url:"chuli.php",
            data:{page:page,key:key},
            type:"POST",
            dataType:"JSON",
            success: function(data){
                    var str = "";
                    for(var k in data)
                    {
                        str +="<tr><td>"+data[k].AreaCode+"</td><td>"+data[k].AreaName+"</td><td>"+data[k].ParentAreaCode+"</td></tr>";
                    }
                    $("#nr").html(str);//把数据返回表格
                }
        });
}

functionLoadXinXi()
{
    var str = "";
    var minys = 1;
    var maxys = 1;
    var key = $("#key").val();

    //查总页数
    $.ajax({
            async:false,
            url:"zys.php",
            data:{key:key},
            type:"POST",
            dataType:"TEXT",
            success: function(d){
                    maxys = d;
                }
        });

    str += "<span>总共:"+maxys+"页</span> &nbsp;";
    str += "<span id=‘prev‘>上一页</span>";

    for(var i=page-2;i<page+3;i++)
    {
        if(i>=minys && i<=maxys)
        {
            if(i==page)
            {
                str += "<span class=‘dangqian‘ bs=‘"+i+"‘>"+i+"</span> &nbsp;";
            }
            else
            {
                str += "<span class=‘list‘ bs=‘"+i+"‘>"+i+"</span> &nbsp;";
            }

        }
    }

    str += "<span id=‘next‘>下一页</span>"; 

    $("#xinxi").html(str);

    //给上一页添加点击事件
    $("#prev").click(function(){
            page = page-1;
            if(page<1)
            {
                page=1;
            }
            Load(); //加载数据
            LoadXinXi(); //加载分页信息
        })
    //给下一页加点击事件
    $("#next").click(function(){
            page = page+1;
            if(page>maxys)
            {
                page=maxys;
            }
            Load(); //加载数据
            LoadXinXi(); //加载分页信息
        })
    //给中间的列表加事件
    $(".list").click(function(){
            page = parseInt($(this).attr("bs"));
            Load(); //加载数据
            LoadXinXi(); //加载分页信息
        })
}

</script>

处理页面1

<?php
include("DBDA.class.php");
$db = new DBDA();

$key = $_POST["key"];
$num = 20;

$sql = "select count(*) from chinastates where areaname like ‘%{$key}%‘";

$zts = $db->StrQuery($sql);

echo ceil($zts/$num);

处理页面2

<?php
include("DBDA.class.php");
$db = new DBDA();

$page = $_POST["page"];
$key = $_POST["key"];
$num = 20;
$tiao = ($page-1)*$num;

$sql = "select * from chinastates where areaname like ‘%{$key}%‘ limit {$tiao},{$num}";

echo $db->JSONQuery($sql);
时间: 2024-10-22 01:43:16

ajax分页查询的相关文章

ajax分页查询信息的通用方法

1.页面准备分页的表格与分页div 同时需要在查询条件表单中准备隐藏当前页与页大小的文本框 <div class="container-fluid"> <div class="panel panel-default"> <!--菜单连接标题--> <div class="panel-heading"> <span>大修管理</span><span>>大修信息

springMVC+ajax分页查询

项目用到ajax技术的查询,查询结果很多时候要分页展示.这两天摸索了一下,在这里做一总结,方便自己随时查看, 也方便后人参考. 这里的顺序遵从从前台页面到后台控制器,业务层,Dao层,Mapper 下面先讲页面,页面js代码如下: <span style="font-size:14px;">/* 全局变量 */ var userCount;//符合查找条件的用户总页数,分页参考 var pageIndex = 0;//当前页,默认为0 var pageSize = 8;//

Ajax写分页查询(实现不刷新页面)

要求: 获取数据库中大量的信息显示在页面上,必然要使用到分页查询: 若不使用Ajax,而是用其他的方法,肯定是要刷新页面的,用户体检很不好, 所以最好使用Ajax的方法写分页查询: 1.先来找一张数据很多的表吧! 一张简单的表 代码,引入jquery包: <script src="jquery-1.11.2.min.js"></script> 写一张表格,显示我们的代号跟名称: <table class="table table-striped&

MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti

PHP中使用jQuery+Ajax实现分页查询多功能操作

1.首先做主页面Ajax_pag.php 代码如下: <!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_

如何用ajax写分页查询(以留言信息为例)-----2017-05-17

要写分页,首先你得清楚,一页你想显示多少条信息?如何计算总共显示的页数? 先说一下思路: (1)从数据库读取数据,以chenai表为例,读取所有留言信息.并能够实现输入发送者,可以查询该发送者的留言总数. (2)计算分页信息,此处,以每页显示5条信息为例.分页列表(如图)以当前页为中心,向前显示2条,向后显示2条. (3)给每个分页列表添加对应的点击事件. (4)能够实现分页后,添加查询分页功能. 现实效果图: 第一步:引入 jquery文件和bootstrap文件.(因为表格和分页均是用的bo

框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)

知识点: 批量导入(ocupload插件,pinyin4J /POI解析Excel(apache POI) /区域分页查询 /Combobox下拉框 /分区组合条件分页查询(ajax) /分区数据导出(Excel下载) BOS项目笔记第4天 1.    区域批量导入功能 *Ajax不支持文件上传. *上传并且不刷新上传页面原理: Target到一个0,0,0的隐藏iframe里,造成一个没有刷新的假象 <form target="myIframe" action="ab

yii下多条件多表组合查询以及自写ajax分页

多条件组合查询主要用到yii的CDbCriteria,这个类很多oem框架都有,非常好用. 前台查询表单效果是这样的,多个条件组,每个组里放多个input,name为数组.当任何一个复选框被勾选上,发起ajax请求,当然,最顶层的复选框勾上时判断是否有子项,有的话把所有的子项勾选上. 但提交一次请求会向服务端post这样一个表单 其中currentPage是隐藏字段,当分页按钮被点击是这个字段的值会发生变化,并且发起查询请求. 这个表单会提交到如下的action中进行处理 1 <?php 2 3

框架学习日志(4):如何通过Ajax进行分页查询并绑定数据?

需求设定 1.在页面中通过Ajax发送请求至程序后端对User表进行分页查询,将数据展示至页面上: 2.要求显示字段:主键.姓名.年龄.出生年份.性别.职位: 3.需要统计总数.可上下翻页.可指定页跳转: User表 Position字段,int型,值范围0-5,依次工作职位:实习生.普通职工.资深职工.团队组长.部门经理.公司经理. 以上为情景设定,接下来进入代码实战. 新建类库,搭建开发流程 User表属于账户管理模块,所以我们将新建的类库取名为Account. 分别在各层建立如下类库.文件