之前有写过ajax的加载页面,是非常简单的,而且不需要重新刷新页面,写起来也是非常的方便,今天写的分页是不用封装page.class.php的,

是单纯的js和ajax写出来的

 首先为了页面的整齐与美观,我用到了bootstrap,需要引进所需要的文件包

<link href="dist/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="../jquery/jquery-1.11.2.min.js"></script>
<script src="dist/js/bootstrap.min.js"></script>

下面是页面显示的内容

<div><input type="text" id="name" /> <input type="button" value="查询" id="chaxun" /></div>
<br />
<table class="table table-striped">
<thead>
<tr>
<th width="30%">国家代号</th>
<th width="30%">国家名称</th>
<th width="40%">父级代号</th>
</tr>
</thead>
<tbody id="tb"> </tbody>
</table>
<br />
<div><ul class="pagination" id="fenye"> </ul></div>

 下面是js部分了,用的ajax来写

<script type="text/javascript">

var page = 1; //当前页

//加载数据
Load();
//加载分页信息
LoadFenYe(); //给查询加点击事件
$("#chaxun").click(function(){
//将当前页重置
page = 1;
//加载数据
Load();
//加载分页信息
LoadFenYe();
}) //加载分页信息的方法
function LoadFenYe()
{
var s = "";
var name = $("#name").val(); var minys = 1;
var maxys = 1;
$.ajax({
async:false,
data:{name:name},
type:"POST",
url:"zys.php",
dataType:"TEXT",
success: function(data){
maxys = data;
}
});
//加载上一页
s += "<li class='syy'><a>&laquo;</a></li>"; //加载分页列表
for(var i=page-4;i<page+5;i++)
{
if(i>=minys && i<=maxys)
{
if(i==page)
{
s += "<li class='active list'><a>"+i+"</a></li>";
}
else
{
s += "<li class='list'><a>"+i+"</a></li>";
}
}
} //加载下一页
s += "<li class='xyy'><a>&raquo;</a></li>"; //显示分页列表
$("#fenye").html(s); //给列表加点击事件
$(".list").click(function(){
//改变当前页
page = $(this).text();
//加载数据
Load();
//加载分页信息
LoadFenYe();
})
//上一页加点击事件
$(".syy").click(function(){
//改变当前页
if(page>1)
{
page = parseInt(page)-1;
//加载数据
Load();
//加载分页信息
LoadFenYe();
}
})
//下一页加点击事件
$(".xyy").click(function(){ //改变当前页
if(page<maxys)
{
page = parseInt(page)+1;
//加载数据
Load();
//加载分页信息
LoadFenYe();
} })
}
//加载数据的方法
function Load()
{
var name = $("#name").val();
$.ajax({
url:"jiazai.php",
data:{page:page,name:name},
type:"POST",
dataType:"TEXT",
success: function(data){
var str = "";
var hang = data.split("|");
for(var i=0;i<hang.length;i++)
{
var lie = hang[i].split("^");
str = str+"<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td></tr>";
}
$("#tb").html(str); }
}); }

jiazai.php页面的代码如下:

 <?php
include("DADB.class.php");
$db=new DADB();
$page=$_POST["page"];
$key=$_POST["name"];
$num=20;
$tiao=($page-1)*$num;
$sql="select * from chinastates WHERE areaname like '%{$key}%' limit {$tiao},{$num}";
echo $db->StrQuery($sql,1);

zys.php代码如下:

 <?php
include("DADB.class.php");
$db=new DADB();
$key=$_POST["name"];
$sql="select count(*) from chinastates where areaname like '%{$key}%'"; //显示总共有多少条内容
$zts=$db->StrQuery($sql);
echo ceil($zts/20);

这样分页和查询功能就可以完全实现了

ajax实现分页和分页查询的更多相关文章

  1. ajax分页与组合查询配合使用

    使用纯HTML页与js.ajax.Linq实现分页与组合查询的配合使用 <body> <div id="top"><input type=" ...

  2. 基于Jquery+Ajax+Json+存储过程 高效分页

    在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...

  3. 基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询

    前言 基于SpringMVC+Bootstrap+DataTables实现数据表格服务端分页.模糊查询(非DataTables Search),页面异步刷新. 说明:sp:message标签是使用了S ...

  4. Webform(Linq高级查、分页、组合查询)

    一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...

  5. Webform(分页、组合查询)

    一.分页 1.写查询方法: public List<Student> Select(int PageCount, int PageNumber) {//PageCount为每页显示条数,P ...

  6. Ajax 实现无刷新分页

    Ajax 实现无刷新分页

  7. 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法

    spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...

  8. oracle 的分页、截断查询

    oracle 分页.截断查询 需求:从车管所的备案库中(oracle)取出数据,放到车综大数据平台(http方式) 现场情况:oracle中有三张表,CZRKXX(常住人口信息),ZDRYXX(重点人 ...

  9. Bitter.Core系列五:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 分页聚联查询

    Bitter.Core 在聚联/分页聚联查询的时候,采用原生的MSSQL, MYSQL 语句查询,做过复杂高级项目的人知道,原生的聚合查询代码执行效率更高,更快,更容易书写,开发量最少. 借助原生的M ...

  10. 【JPA】使用JPA实现分页和模糊查询

    1.首先创建DAO层接口,实现JpaRepository和JpaSpecificationExecutor两个接口 JpaRepository<Admin, Integer> 泛型参数分别 ...

随机推荐

  1. Java泛型类定义,与泛型方法的定义使用

    package com.srie.testjava; public class TestClassDefine<T, S extends T> { public static void m ...

  2. VisualGDB Makefiles

    以下内容是VisualGDB官网对VisualGDB编译时获取相关编译信息的说明: When you create a new project using VisualGDB, it will gen ...

  3. js 计算月/周的第一天和最后一天

    因为项目开发中遇到需要向后台传本周的开始和结束时间,以及上一周的起止时间,就琢磨了半天,总算写出来一套,写篇文章是为了方便自己记忆,也是分享给需要的人,水平有限,写的不好请见谅: getDateStr ...

  4. 作为测试人员,我是这么报BUG的

    在测试人员提需求的时候,大家经常会看到,测试员和开发一言不合就上BUG.然后开发一下就炸了,屡试不爽,招招致命. 曾经看到有个段子这么写道: 不要对程序员说,你的代码有BUG. 他的第一反应是:1.你 ...

  5. [CSS3] 学习笔记-CSS3选择器详解(一)

    1.属性选择器 在CSS3中,追加了3个属性选择器,分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概念. <!doctype html> ...

  6. 【Ionic+AngularJS 开发】之『个人日常管理』App(二)

    准备工作 资源 预装工具 安装bower npm install -g bower 安装ngCordova bower install ngCordova (*由于网络获取资源的原因,后面几次建项目后 ...

  7. gevent拾遗

      在前文已经介绍过了gevent的调度流程,本文介绍gevent一些重要的模块,包括Timeout,Event\AsynResult, Semphore, socket patch,这些模块都涉及当 ...

  8. 《Effective Objective-C 2.0》 读后总结

    感觉自己最近提升很慢了.然后去找了一些面试题看看.发现自己自大了.在实际开发中,让我解决bug.编写功能,我有自信可以完成.但是对项目更深层的思考,我却没有.为了能进到自己的目标BAT.也为了让自己更 ...

  9. 一个技术汪的开源梦 —— 微信开发工具包(WeixinSDK)

    由于春节的关系 WeixinSDK 这个开源项目的进展比预期推迟了大约一个月的时间,值得高兴的是到目前为止该项目的重要模块已经开发完毕.  - 关于项目 该项目的背景是现在微信公众号.微信服务号乃至微 ...

  10. AJSX 传输数组

    如果要利用ajax传输数组,或者传输多个(不知道有多少个)class的某一属性的值,例如: 要将这三个数据传入php编辑界面,图片显示有三个数据,但实际上,数据的多少是由数据库所导出的数据 决定的.如 ...