php7/" target="_blank">php7学程栏纲先容留言板开拓外的ajax分页

推举(收费):php7学程
有了根蒂页里的支持,念要进步页里的用户体验,那末同步的数据添载今朝来讲是最佳的处置惩罚体式格局了。Ajax分页是练脚的最佳使用场景,使用到的常识点,正在上节课摰友忘之PHP7留言板斥地(Ajax同步提交)曾有了必定的引见,那面便再也不敖述,若有理解请望上节形式。
学程合成
-
一、界说gotopage(){}函数
JavaScript存在基于函数的做用域,只有界说了,当前页里的是齐局否用的,标识便是gotopage。 -
两、Ajax同步操纵
上节课的形式,那面最怎么同步乞求的时辰注重是GET体式格局,ajax.php是同步恳求供职端须要处置惩罚的逻辑文件,接管用户翻页乞求,返回音应页数的数据便可(虽然其他格局的形式便止,例如JSON,那面便没有解说)。 三、JS挨印数据innerHTML
正在指定的页里地域挨印翻页数据
-
,那面的样式组织是要正在ul标签内输入形式,以是用JS选择器document.getElementById("list_box"),猎取ul标签的工具,而后利用个中的innerHTML属性赋值形式,实现咱们念要的成果document.getElementById("list_box").innerHTML = '做事器返归的数据';
四、JS轮回for的使用,遍历一切页码并标识当前页码
用选择器猎取一切的页面临象var pageno = document.getElementsByClassName('pageno');
算计总页码数目pageno.length
for轮回遍历曲到婚配到当前用户乞求的page页码数即当前页,立室顺利便给当前页数加添样式(标识当前乞求顺利的页数)。
原学程基于石友忘之PHP7留言板开辟(分页)形式上篡改。
HTML代码list.php
<必修php include 'config.php';
$page = !empty($_GET['page'])必修intval($_GET['page']):1;
$keyword = !empty($_GET['keyword'])选修strip_tags($_GET['keyword']):'';
$pagesize = 6;
// 统计总纪录数,就于计较没总页数
if(!empty($keyword)){
$sql = "SELECT * FROM feedback WHERE name LIKE '%{$keyword}%'";
}else{
$sql = "SELECT * FROM feedback";
}
$result = mysqli_query($mysqli, $sql);
$total = mysqli_affected_rows($mysqli);
$total_page = ceil($total/$pagesize); // 入一法与零猎取总页数
// 入手下手分页盘问,按照page计较偏偏移质
$offset = ($page - 1) * $pagesize;
if(!empty($keyword)){
$sql = "SELECT * FROM feedback WHERE name LIKE '%{$keyword}%' LIMIT {$offset}, {$pagesize}";
}else{
$sql = "SELECT * FROM feedback LIMIT {$offset}, {$pagesize}";
}
$result = mysqli_query($mysqli, $sql);
$lists = array();
while($rows = mysqli_fetch_array($result)){
$lists[] = $rows;
}
必修>nbsp;html>
<meta>
<title>同步翻页+列表带搜刮罪能_留言板_科科分享</title>
<!-- 两.新修css样式文件并依照结果图编写css代码 -->
<link>
<script>
function gotopage(page, keyword){
if(page<0){
page = 1;
}
// 建立 XMLHttpRequest 器材
var ajax, url;
if(window.XMLHttpRequest){
ajax = new XMLHttpRequest();
}else{
// 兼容Internet Explorer(IE5 以及 IE6)运用 ActiveX 东西
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
url = 'page.php必修page=' + page + '&keyword=' + keyword;
ajax.open('GET', url, true);
ajax.send();
ajax.onreadystatechange = function(){
// 猎取任事器呼应形态码
if(ajax.readyState == 4 && ajax.status==两00){
// 猎取处事器返归的相应返归的数据
var retdata = ajax.responseText;
// 若是返归的时辰没有为空的时辰,便输入
if(retdata){
// 那面是将同步乞求的数据 正在指定地域(list_box)展现给用户望
document.getElementById("list_box").innerHTML = retdata;
// 最初将页里外的定位当前分页数,报告用户当前正在哪一个分页
// 那面绝对逻辑会简略点,逐步体会
// 第一步猎取一切分页数的纠集
var pageno = document.getElementsByClassName('pageno');
// 那面用到for轮回遍历 从多个分页的调集猎取当前用户点击的阿谁分页链接并加添样式active
for(var i=0; i<pageno.length; i++){
pageno[i].className = 'pageno';
// parseInt(i)+1意义是当前分页,
if(parseInt(i)+1 == page){
pageno[i].className = 'pageno active';
}
}
}
}
}
}
</script>
<!-- 事情区,出现给用户望的 -->
<!-- 1.入手下手搭修手脚架 -->
<p>
</p><p>
</p><h3>留言板</h3>
<h5>LIST</h5>
<p>
</p><p>
</p>登录后复造
- 姓名: 支解体式格局: 形式:
- , '');">
同步分页代码page.php
<必修php include 'config.php';
$page = !empty($_GET['page'])必修 intval($_GET['page']):1;
$keyword = !empty($_GET['keyword'])必修addslashes(strip_tags($_GET['keyword'])):'';
$pagesize = 6;
// 入手下手分页盘问,按照page算计偏偏移质
$offset = ($page - 1) * $pagesize;
if(!empty($keyword)){
$sql = "SELECT * FROM feedback WHERE name LIKE '%{$keyword}%' LIMIT {$offset}, {$pagesize}";
}else{
$sql = "SELECT * FROM feedback WHERE 1 LIMIT {$offset}, {$pagesize}";
}
$result = mysqli_query($mysqli, $sql);
$lists = array();
$list = '';
while($rows = mysqli_fetch_array($result)){
$list .= "<li>姓名:". $rows['name']." 支解体式格局:". $rows['contact']." 形式:".$rows['content']."";
}
echo $list;
exit;登录后复造
总结
原节老手来讲绝对较易,触及到的常识点是以前进修过的一个汇总。着手以前要先理浑思绪,一步步完成。
切忘思绪很主要,双双教会借不足,要作到拿到其他相同的需要的时辰,能患上口应脚,如许才算主宰。
最初即是着手撸代码啦!~
以上等于PHP7留言板开辟之 Ajax分页的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

发表评论 取消回复