ajax实现分页和分页查询
之前有写过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>«</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>»</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实现分页和分页查询的更多相关文章
- ajax分页与组合查询配合使用
使用纯HTML页与js.ajax.Linq实现分页与组合查询的配合使用 <body> <div id="top"><input type=" ...
- 基于Jquery+Ajax+Json+存储过程 高效分页
在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...
- 基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
前言 基于SpringMVC+Bootstrap+DataTables实现数据表格服务端分页.模糊查询(非DataTables Search),页面异步刷新. 说明:sp:message标签是使用了S ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- Webform(分页、组合查询)
一.分页 1.写查询方法: public List<Student> Select(int PageCount, int PageNumber) {//PageCount为每页显示条数,P ...
- Ajax 实现无刷新分页
Ajax 实现无刷新分页
- 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...
- oracle 的分页、截断查询
oracle 分页.截断查询 需求:从车管所的备案库中(oracle)取出数据,放到车综大数据平台(http方式) 现场情况:oracle中有三张表,CZRKXX(常住人口信息),ZDRYXX(重点人 ...
- Bitter.Core系列五:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 分页聚联查询
Bitter.Core 在聚联/分页聚联查询的时候,采用原生的MSSQL, MYSQL 语句查询,做过复杂高级项目的人知道,原生的聚合查询代码执行效率更高,更快,更容易书写,开发量最少. 借助原生的M ...
- 【JPA】使用JPA实现分页和模糊查询
1.首先创建DAO层接口,实现JpaRepository和JpaSpecificationExecutor两个接口 JpaRepository<Admin, Integer> 泛型参数分别 ...
随机推荐
- 从[NOI2008志愿者招募]浅谈线性规划在网络流构图上的巧用
首先来看一下题..http://www.lydsy.com/JudgeOnline/problem.php?id=1061 1061: [Noi2008]志愿者招募 Description 申奥成功后 ...
- CodeForces 721A
A. One-dimensional Japanese Crossword time limit per test:1 second memory limit per test:256 megabyt ...
- easyui datagrid的json格式
easyui datagrid的json格式: {"columns":[[{"field":"one","title": ...
- MiniProfiler工具介绍
MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控 ...
- js获取当前时间戳
当使用js时我们可以使用timestamp = (new Date()).valueOf();直接获取当前时区时间点的时间戳.注意:js中时间戳的单位是毫秒,而php中则是秒
- input _文本框回车或者失去光标触发事件
IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获. onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件. 了解这一 ...
- java_JDBC(4)
一.Statement import java.sql.*; public class TestJDBC { public static void main(String[] args) { Conn ...
- 微端游戏启动器launcher的制作(序篇)
公司要做一个游戏接入腾讯QQ游戏大厅,腾讯要求制作一个launcher,公司之前并没有接入过腾讯,所以大家其实都不懂,而我又是新人,所以刚拿到这个任务的时候整个人就是一个大写的懵逼.在网上查找了不少的 ...
- Android jni 编程1(对基本类型字符串的操作)
最近一直在学安卓的jni,主要参考的是黑马程序员的视频教程,讲的确实不错. 那就自己总结一下吧,算是对学习的复习. 这篇博客也主要参考了这位博主:http://www.cnblogs.com/acti ...
- udp 双机通信(服务器循环检测)2
此文摘自:http://blog.csdn.net/qinpeng100423/article/details/8980423,谢谢了 自己上一篇写的udp通信,只能运行一次,参考了这位博主的,只是把 ...