ajax分页查询的详细说明
(1)先写一页显示数据。分页查询需要哪些部分?
1.第一个是文本框输入的查询,还有查询按钮,所以开始写代码
Divinput类型='text' id='key'///输入查询词的文本框输入类型='button '值=' query' id='chaxun'///查询按钮之所以命名是为了以后给这个按钮添加事件,是因为点击之后才可以查询文本框的内容。/div可以看到效果3360。
2.下一步是显示数据。为了显示数据,需要检查数据库,并且需要ajax
首先,在这个显示数据的页面中引入jQuery的包
脚本src=' http:/jQuery-1 . 11 . 2 . min . js '/script//介绍jQuery的包
要写你想显示的列的内容,自然要写一个表,写一行,行里有单元格放你想显示的内容的字段名(这里显示三种信息)
表格宽度=' 50% '边框=' 1 '单元格填充=' 0 '单元格间距=' 0 ' trbr//显示的字段名称,这是内容td code /td td name /td td TD父代码/td/trtbody id='bgbr//,这是搜索数据库的内容。/TBODD
3.现在,您可以先检查数据库,这里将使用ajax
3.1但是由于是以页面显示,会有默认的首页,可以先设置一个变量。
var page=1;//当前页面
3.2然后我开始编写ajax并查询数据库,但这将被频繁使用。避免多次写。我们可以写一个方法
函数Load(){var key=$('#key ')。val();//查询条件:因为查询$。ajax ({url:' fenye _ chuli.php ',//显示数据data: {page: page,key3360 key}的处理页面,//页数和查询必须用Type:' post '和DataType:' JSON '的值传递。//这里我们使用JSON数据格式success:函数(data){ //处理完页面后写代码} });}3.3重写显示数据的处理页面。这里应该考虑的是跳过多少条数据,显示多少条数据。
?phpinclude(' DBDA . class . PHP ');//调用封装的类$db=新DBDA();//创建新对象$ page=$ _ POST[' page '];//值$key=$_POST['key']传递的页数;//传递值关键字br $ num=20//每页要显示的数据数$调条=($ page-1)* $ num;//当前跳过了多少条数据//查询表中的模糊查询名称为关键字,跳过了多少页,显示了多少条数据$ SQL=' select * from China States其中areanamelike'% {$ key}%' limit {$调条},{ $ num } ';//执行sql语句echo $ db-JSonquery($ SQL);//调用编写的JSON数据格式的处理方法。JSON数据格式是关联数组,所以要处理它,只需要把处理方法打包成一个类就可以了。
处理方法已经写成了“数据类型(数据格式)-文本,AJAX中的json”
3.4处理完页面后,需要在ajax中编写处理完页面后的代码(注意:上面使用的是JSON数据格式,所以注意字段名和数据库中一样,是关联数组)
success:函数(数据){ var str=对于(数据中的var k){ br//,代码、名称、父代码str=' trtd '数据[k]。区号'/tdtd '数据[k]。area name/' tdtd '数据[k]。母区号'/TD/tr ';} $('#bg ')。html(字符串);//放大内容显示数据}所以把你想显示的数据放到bg中,记得调用这个方法。
这是数据的显示,但是不可能实现分页,所以需要分页。这里需要数字,但也需要遍历,可以随意清空
Div id='xinxi'/显示号码或上一页/div3.5 .这也可以写成方法,然后调用
要知道可以显示的最大页数,您可以在此定义默认的最大页数,这也可以是搜索关键字时显示的最大页数
var maxys=1;
找到了关键字的值
var key=$('#key ')。val();
然后编写ajax,检查总页数
$.ajax({ async:false,//因为这是要同步执行的,所以值为false URL 3360' fenye _ zys.php ',//process page Data : { key 3360 key },//想要传递的值类型为:'POST ',//Data type :' TEXT '用作值传递方法。//这里,success :函数(d)可以作为文本字符串{//页面结束后处理语句} });下一步是编写处理信息的处理页面
?phpinclude(' DBDA . class . PHP ');//调用封装的类$db=新DBDA();$ key=$ _ POST[' key '];//传递值$ num=20//默认显示的项目数为$ SQL='从中国各州中选择count (*),其中areaname如“% { $ key } %”;//通过关键字$zts=$db-StrQuery($sql)查询文章总数;echo ceil($ zts/$ num);//转换为整数处理页后,找到的最大页数应该交给默认的最大页数
success:函数(d){ maxys=d;//将执行结果赋予定义的最大页数}之后,必须有“上一页”和“下一页”,中间的数字可以让他一次显示5页
str=' span total:' maxys ' pages/span ';Str='span id='prev '上一页/span ';//如果以后要使用click事件,str='span id='next '下一页/span '在此名称的当前页上//循环;//这也是为了使用click事件,也是为了给它命名,然后写出循环中的页数
for(var I=第2页;IP age 3;I) //两个{if(i=minys i=maxys) //页面应该有一个范围,大于最小页面,小于最大页面{ if(I==page){ str=' span class=' danqian ' bs=' I ' ' I '/span ';//select } else { str=' span class=' list ' bs=' I ' ' I '/span '在当前页面上;//显示当前页面}}}将值转移到div的xinxi
$('#xinxi ')。html(字符串);
最终结果如下图所示:
接下来是上一页和下一页的点击事件。第一个是上一页的点击事件
//添加click事件$ ('# prev ')。点击(function(){ page=page-1;//当前页面减1 if(page 1){ page=1;} Load();//加载数据LoadXinXi();//加载分页信息})然后就是下一页的点击事件
//在下一页添加点击事件$(“# next”)。单击(function(){ page=page 1;//将1 if (pagefaces)添加到当前页面{ page=maxys} Load();//加载数据LoadXinXi();//加载寻呼信息})在循环号码中添加点击事件
//添加事件$('。列表')。click(function(){ page=par sent($(this))。attr ('bs ')到中间列表;load();//加载数据LoadXinXi();//加载分页信息})最后调用一次就可以了
4.关键字查询,这里是给查询添加一个点击事件
(' #chaxun ')。click(function(){ page=1;load();//加载数据LoadXinXi();//加载分页信息})最终整体显示:
这样,分页查询解决方案就结束了,分页显示可以在不刷新页面的情况下进行。看整体效果
(1)分页显示
(2)查询显示
以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一些帮助,也希望多多支持我们!
版权声明:ajax分页查询的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。