Ajax+smarty技术实现无刷新分页
前端  /  管理员 发布于 4年前   498
这里运用Smarty模板,更简单
本文主要的技术:AJAX,PHP,Smarty,另外自己封装了一个很简单的类
类:
(function(){function $(id) {return document.getElementById(id);}$.init=function() {try{return new XMLHttpRequest();}catch(e){};try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(e){}alert('请更换浏览器');}$.get=function (url,data,callback,type) {var xhr = this.init();url += '?' +new Date().getTime();if(data!=null){url += '&'+data;}xhr.open('get',url);xhr.onreadystatechange = function () {if(xhr.readyState == 4 && xhr.status == 200){if(type==null){callback(xhr.responseText);}if(type == 'text'){callback(xhr.responseText);}if(type == 'xml'){callback(xhr.responseXML);}if(type == 'json'){callback(eval("("+xhr.responseText+")"));}}}xhr.send(null);}$.post = function (url,data,callback,type) {var xhr = this.init();xhr.open('post',url);xhr.setRequestHeader('Content-Type','Application/x-www-form-urlencoded');xhr.onreadystatechange = function () {if(xhr.readyState == 4 && xhr.status == 200){if(type==null){callback(xhr.responseText);}if(type == 'text'){callback(xhr.responseText);}if(type == 'xml'){callback(xhr.responseXML);}if(type == 'json'){callback(eval("("+xhr.responseText+")"));}}}; xhr.send(data);}
类很简单,不介绍了
HTML:
window.onload=function () {init(2);}function del(id,p){$.get('del.php','id='+id,function(msg){if(msg==1){init(p);}})}function init(p) {$.get('page.php','page='+p,function(msg){$('result').innerHTML=msg;});}PHP:<?phpheader('content-type:text/html;charset=utf-8');mysql_connect('localhost','root','root');mysql_select_db('db2');mysql_query('set names utf8');$re=mysql_query('select count(*) as num from catgory');$hang=mysql_fetch_assoc($re);$row1=$hang['num'];$page=isset($_GET['page'])? $_GET['page']:1;$pagesize=2;$total=ceil($row1/$pagesize);$prev=$page-1;$next=$page+1;if($prev<1){$prev=1;}if($next>$total){$next=$total;}$offset = ($page-1)*$pagesize;$result=mysql_query("select * from catgory limit ".$offset.','.$pagesize);$ct=mysql_num_rows($result);$data=array();for($i=0;$i<$ct;$i++){$r=mysql_fetch_assoc($result);$data[]=$r;}include('libs/Smarty.class.php');$Smarty=new Smarty();$Smarty->assign('data',$data);$Smarty->assign('page',$page);$Smarty->assign('pagesize',$pagesize);$Smarty->assign('total',$total);$Smarty->assign('prev',$prev);$Smarty->assign('next',$next);$Smarty->assign('row1',$row1);$str=$Smarty->fetch('page.html');echo $str;
Smarty:
<table border="1" rules="all" width="600"><tr><td>编号</td><td>品牌</td><td>pid</td><td>删除</td></tr>{foreach from=$data item='value'}<tr><td>{$value['id']}</td><td>{$value['name']}</td><td>{$value['pid']}</td><td><a href="", onclick="del({$value['id']},{$page})">删除</td></tr>{/foreach}<tr><td colspan="3">共{$total}页第{$page}页<a href="", onclick="init({$prev})">上一页</a><a href="", onclick="init({$next})">下一页</a><a href="", onclick="init(1)">第一页</a><a href="", onclick="init({$total})">最末页</a>共{$row1}条数据每页{$pagesize}条数据</td></tr></table>
要引入smary模板
以上所述是小编给大家介绍的Ajax+smarty技术实现无刷新分页,希望对大家有所帮助!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号