本文主要介绍php中翻上一页到下一页的过程的详细说明。一般功能是页面只显示几条信息,按上一页和下一页切换内容。当显示第一页时,前一页和第一页是不可选择的,并且当该页被加载到最后一页时,下一页和最后一页是不可选择的。有需要的朋友可以参考一下。
前言
因为这几天数据太多,需要上下翻页,所以自己写了翻页的代码。
基本上功能就是页面只显示几条信息。按上一页和下一页切换内容。当显示第一页时,前一页和第一页是不可选择的,并且当该页被加载到最后一页时,下一页和最后一页是不可选择的。
具体效果如下:
实现代码
1)原生PHP方法
先说一下大致思路。首先我们需要查询所有符合条件的需要分页的数据,并计算显示的总页数。
然后获取当前显示的是哪一页的信息,将当前页面的每页数据数表示为总数据数,然后根据约束条件查询当前页面要显示的数据。用HTML结构内容替换每一条数据echo,最后显示出来。
对分页的限制非常简单。只要发现当前页面是第一页,第一页和上一页的跳转链接就固定在第一页,禁用的选项不可选,最后一页也采取同样的步骤。
具体代码如下:
需要发送当前页面。我的解决方案是,初始cPage=0。
list.php*
a href='listmore.php?Cpage=0' rel='外部nofollow' rel='外部no follow ' class=' pull-right ' more gt。gt;/a
$row=$table-fetch()每次读取一条信息,都会得到一个索引数组。代码中的$row['id']表示$row中名为id的值,也可以表示为$ row.id。
connecting(连接到数据库)
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
$ link=新PDO(' MySQL:host=localhost;端口=3306;dbname=db ',' root ',' ');
$ link-query(' set names utf8 ');
listmore.php
ul id='list' class='media-list '
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
include _ once(' connect . PHP ');
$ result=$ link-query(' select * from news ');
$ total=$ result-rowCount();//合格查询的总数。
$ pages=ceil($ total/4);//分页页面的总数
$ num=4;//每页显示的数据条数量
$ c page=$ _ GET[' c page '];//获取当前显示的页面。
$ start=$ cPage * $ num//第一段数据
$ table=$ link-query(' select * from news order by id desc限制{$start},$ num ');
$ link=null//销毁
While ($row=$table-fetch()){//一次读出一条数据,并将其赋给$row
//插入多行文本并替换值
回声_
李class='媒体'
a href='detail.php?id={$row['id']} '
img class=' pull-left ' src=' { $ row[' src ']} '
图片标题
h4span class=' title ' { $ row[' title ']}/span span class=' news-date ' { $ row[' time ']}/span/H4
p{$row['content']}/p
/图片标题
/a
/李
_;
}
?
/ul
上下翻页:
div class='页面文本中心'
ul class='pagination' id='page '
li data-i='0' id='index' class='?php if ($cPage==0)回显“disabled”;'a href='listmore.php?cPage=0 ' laquo首页/a/李
li data-i='1' class='?php if ($cPage==0)回显“disabled”;'a href='listmore.php?cPage=?php echo $cPage0?$cPage-1:0?'lt;上一个/a/li
li data-i='2' class='?PHP if($ c page==$ pages-1)echo ' disabled '?'a href='listmore.php?cPage=?php echo $cPage==($pages-1)?$pages-1:$cPage 1?'下一页gt;/a/李
li data-i='3' id='end' class='?PHP if($ c page==$ pages-1)echo ' disabled '?'a href='listmore.php?cPage=?php echo $pages-1?'Page raquo/a/李
李“残废”了
a href='##' id='total '?php echo ($cPage 1)?/?php echo '$pages '?/a
/李
/ul
/div
2)ajax方法
在面板体中显示信息。
div class=' panel-body ' id=' content '
ul id='list' class='media-list '
/ul
/div
div class='页面文本中心'
ul class='pagination' id='page '
Li data-I=' 0 ' id=' index ' class=' disabled ' a href=' # # ' laquo;首页/a/李
Li data-I=' 1 ' class=' disabled ' a href=' # # ' lt。上一个/a/li
Li-I=' 2' a href=' # # '下一页gt;/a/李
li data-i='3' id='end'a href='## '尾页raquo/a/李
李"残废"了
a href='##' id='total'/a
/李
/ul
/div
模板id='temp' //引用模板
李' class='媒体'
a href='detail.html?id={id} '
img class='pull-left' src='{src} '
图片标题
H4 span class=' title ' { title }/span span class=' news-date ' { date }/span H4
p{content}/p
/图片标题
/a
/李
/模板
射流研究…代码:
var html=$('#temp ').html();
var curPage=0,pages=0;
$.getJSON('php/pages.php ',function (res) {
页数=数学。天花板(第4号决议);/*获取信息的总页数*/
});
函数显示(cPage){//替换每一页的内容
$.getJSON('php/listmore.php ',{cPage:cPage},function (json) {
var str=
$('#list ').empty();
json.forEach(function (el) {
str=html.replace('{id} ',el.id).替换(“{title}”,el.title).替换(“{src}”,el.src)。替换(“{content}”,el.content).替换(“{date}”,El。时间);
});
$('#list ').html(str);
});
$('#total ').html((cur第1页)'/'页);
}
setTimeout(function () {
显示(0);
},100);
$('#page ').on('click ',' li ',function () {//上下翻页,翻遍当前页的值
var i=$(这个)。数据(‘我’);//jquery里特有的获取数据-*属性的方法
开关{
情况0:cur page=0;打破;
案例一:curPage0?当前页面-:0;打破;
案例2:curPage(第一页)?curPage:第一页;打破;
案例3:cur page=pages-1;打破;
}
显示(当前页面);
禁用(cur页面);
})
功能禁用(curPage) {//关于临界值禁止选择
if (curPage==0){/*当前页为第一页,首页和上一页选项禁止点击*/
$('#index ').addClass('disabled ').下一个()。添加类(“禁用”);
$('#end ').remove class(“disabled”).上一页()。移除类(“disabled”);
} else if (curPage==pages-1){
$('#index ').remove class(“disabled”).下一个()。移除类(“disabled”);
$('#end ').addClass('disabled ').上一页()。添加类(“禁用”);
} else {/*当前页为最后一页,尾页和下一页选项禁止点击*/
$('#index ').remove class(“disabled”).下一个()。移除类(“disabled”);
$('#end ').remove class(“disabled”).上一页()。移除类(“disabled”);
}
}
connect.php(连接数据库)
?服务器端编程语言(专业超文本预处理器的缩写)
$ link=新PDO(' MySQL:host=localhost;端口=3306;dbname=db ',' root ',' ');
$ link-query(' set names utf8 ');
页面。php(获取总页数)
?服务器端编程语言(专业超文本预处理器的缩写)
include _ once(' connect。PHP’);//连接数据库
$ result=$ link-query(' select * from news ');
$ row=$ result-rowCount();
echo $ row
listmore.php获取数据库里的数据)
?服务器端编程语言(专业超文本预处理器的缩写)
include _ once(' connect。PHP’);
$ num=4;//每一页显示的数据条数
$ c page=$ _ GET[' c page '];//获取当前页
$ start=$ cPage * $ num//计算当前页显示的第一条数据的数目
/*从表中查询从开始$start的一共$num条数据*/
$ result=$ link-query(' select * from news order by id desc限制{$start},$ num ');
$ link=null
while ($row=$result-fetch()){/*每一次读取一条数据*/
$ JSON[]=$ row;/*把数据赋给json数组*/
}
echo JSON _ encode($ JSON);/*把json数组以json格式返回给HTML*/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。