php实现了上一页到下一页翻页过程的详细说明
前言
因为这几天项目数据太多,需要上下显示信息,所以写了翻页代码。一般的功能是在页面上只显示几条信息,按上一页和下一页切换内容。当显示第一页时,上一页和第一页是不可选择的,当页面被加载到最后一页时,下一页和最后一页是不可选择的
具体效果如下:
实现代码
1)原生PHP方法
先说大致思路。首先,我们需要查询所有符合条件的需要分页的总数据,并计算显示的总页数。
然后获取当前显示哪个页面的信息,将当前页面每页的数据数表示为总数据数,然后根据限制条件查询当前页面要显示的数据。替换HTML结构内容中的每一条数据回声,并最终显示出来
对分页的限制非常简单。只要当前页面是首页,首页和上一页的选项跳转链接就固定在首页。同时,将选项设置为禁用不是可选的,最后一页也是同样的步骤。
具体代码如下:
当前页面需要转移。我的解决方案是初始cPage=0
list.php*
a href='listmore.php?cpage=0 ' rel=' external no follow ' rel=' external no follow ' class=' pull-right ' more/a $ row=$ table-fetch()一次读取一条消息,并获取一个索引数组。代码中的$row['id']表示$row中名为id的值。
?php $ link=新PDO(' MySQL : host=localhost;port=3306dbname=db ',' root ',' ');$ link-query(' set name utf8 ');listmore.php
ul id='list' class='media-list '?PHP include _ once(' connect . PHP ');$result=$link-query('从新闻中选择* ');$ total=$ result-RowCount();//查出的合格项目总数为$ pages=ceil($ total/4);//分页总页数$ num=4;//每页显示的数据数$ cPage=$ _ GET[' cPage '];//获取当前显示的页面$ start=$ cPage * $ num//第一个数据$ table=$ link-query('按id从新闻订单中选择* desc限制{$ start},$ num ');$ link=null//destroy while($ row=$ table-fetch()){//一次读取一个数据,将其分配给$row //插入多行文本,并将该值替换为echo _ Li class=' media ' a href=' detail.php?id={ $ row[' id ']} ' img class=' pull-left ' src=' http : { $ row[' src ']} ' fig caption H4 span class=' title ' { $ row[' title ']}/span class=' news-date ' { $ row[' time ']}/span/H4 p { $ row[' content ']}/p/fig caption/a/Li _;} ?/ul上下翻页:
div class=' page text-center ' ul class=' pagination ' id=' page ' Li data-I=' 0 ' id=' index ' class='?PHP if($ cPage==0)echo ' disabled ';'a href='listmore.php?Cpage=0 '主页/a/li li数据-i='1' class='?PHP if($ cPage==0)echo ' disabled ';'a href='listmore.php?cPage=?php echo $cPage0?$cPage-1:0?上一页/a/li li数据-i='2' class='?PHP if($ CPage==$ page-1)echo ' disabled '?'a href='listmore.php?cPage=?PHP echo $ cPage==($ page-1)?$pages-1:$cPage 1 '下一页/a/Li Li data-I=' 3 ' id=' end ' class='?PHP if($ CPage==$ page-1)echo ' disabled '?'a href='listmore.php?cPage=?php echo $ pages?end page/a/Li Li class=' disabled ' a href=' # ' id=' total '?php echo ($cPage 1)?/?php回显“$pages”?/a /li /ul/div2)ajax方法
HTML代码,在面板体中显示信息
div class=' panel-body ' id=' content ' ul id=' list ' class=' media-list '/ul/div class=' page text-center ' ul class=' pagination ' id=' page ' Li data-I=' 0 ' id=' index ' class=' disabled ' a href=' # '首页/a/li li数据-I=' 1 ' class=' disabled ' a href=' # # '上一页/a/li li数据-i='2'a href='## '下一页/a/li li数据-i='3' id='end'a href='## '尾页/a/Li Li class=' disabled ' a href=' # ' id=' total '/a/Li/ul/div模板id='temp' //引用模板详细信息。 html?id={ id } ' img class=' pull-left ' src=' http : { src } ' fig caption span class=' title ' { title }/span span class=' news-date ' { date }/span/p { content }/p/fig caption/a/Li/Templatejs代码:
var html=$('#temp ').html();var curPage=0,pages=0;$.getJSON('php/pages.php ',函数(RES){ pages=数学。最高限额(第RES/4号决议);/*获取信息的总页数*/});函数显示(cPage){//替换每一页的内容$.getJSON('php/listmore.php ',{cPage:cPage},函数(JSON){ var str=' ';$('#list ').empty();json.forEach(函数(el) { str=html.replace('{id} ',el.id).替换(' {title} ',el.title).替换(' {src} ',el.src).替换(' {content} ',el.content).替换(' {date} ',El。时间);});$('#list ').html(字符串);});$('#total ').html((CurPage 1)'/' pages);} setTimeout(函数(){ show(0);},100);$('#page ').on('click ',' li ',function () {//上下翻页,翻遍当前页的值var i=$(这个)。数据(‘我’);//jquery里特有的获取数据-*属性的方法开关(I){ case 0: cur page=0;打破;案例1:curPage0?cur page-:0;打破;案例2:curPage(第-1页)?cur页面:第1页;打破;case : cur page=page-1;打破;} show(CurPage);禁用(CurPage);})功能已禁用(curPage) {//关于临界值禁止选择if (curPage==0){/*当前页为第一页,首页和上一页选项禁止点击*/$(“# index”).addClass(禁用).下一个()。添加CLaSS(' disabled ');$('#end ').removeClass(“”已禁用')。prev().removeClass(“”已禁用');} else if(CurPage==pages-1){ $(' # index ').removeClass(“”已禁用')。下一个()。removeClass(“”已禁用');$('#end ').addClass(禁用).prev().添加CLaSS(' disabled ');} else {/*当前页为最后一页,尾页和下一页选项禁止点击*/$(“# index”).removeClass(“”已禁用')。下一个()。removeClass(“”已禁用');$('#end ').removeClass(“”已禁用')。prev().removeClass(“”已禁用');} }connect.php(连接数据库)
?php $ link=新PDO(' MySQL :主机=localhostport=3306dbname=db ',' root ',' ');$ link-query(' set name utf8 ');pages.php(获取总页数)
?phpinclude _ once(' connect。PHP’);//连接数据库$result=$link-query('从新闻中选择* ');$ row=$ result-row count();echo $ rowlistmore.php(获取数据库里的数据)
?phpinclude _ once(' connect。PHP’);$ num=4;//每一页显示的数据条数$ cPage=$ _ GET[' cPage '];//获取当前页$ start=$ cPage * $ num//计算当前页显示的第一条数据的数目/*从表中查询从开始$开始的一共$num条数据*/$result=$link-query('按编号从新闻订单中选择* desc限制{$start},$ num ';$ link=null while($ row=$ result-fetch()){/*每一次读取一条数据*/$ JSON[]=$ row;/*把数据赋给数据数组*/} echo JSON _ encode($ JSON);/*把数据数组以数据格式返回给HTML*/以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:php实现了上一页到下一页翻页过程的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。