帝国CMS二次开发无刷新Ajax加载更多列表信息插件

本帝国cms插件利用AJAX实现无刷新加载更多的列表信息,用查看更多按钮来替代翻页功能,无限加载。

服务端源码:(保存路径为/e/action/get_news_index.php)

<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../data/dbcache/class.php');
if($_POST[action] == 'getmorenews'){
$table=htmlspecialchars($_POST[table]);
if(empty($_POST[orderby])){$orderby='newstime';}else{ $orderby=htmlspecialchars($_POST[orderby]);}
if(empty($_POST[myorder])){$myorder='desc';}else{ $myorder='asc';}
if(empty($_POST[limit])){$limit=15;}else{ $limit=(int)$_POST[limit];}
if(empty($_POST[classid])){$where=null;}else{ $where='where classid in('.$_POST[classid].')';}
if(empty($_POST[length])){$length=50;}else{ $length=(int)$_POST[length];}
if(empty($_POST[small_length])){$small_length=500;}else{ $small_length=(int)$_POST[small_length];}
$link=db_connect();
$empire=new mysqlquery();
$num =(int)$_POST['next'] *$limit;
if($table){
$sql=$empire->query(SELECT * FROM `.$dbtbpre.ecms_.$table.` $where order by $orderby $myorder limit $num,$limit);
while($r=$empire->fetch($sql)){
if($r[titlepic]==''){
$r[titlepic]=$public_r[news.url].e/data/images/notimg.gif;
}
$oldtitle=stripSlashes($r[title]);
$title=sub($oldtitle,'',$length);
$smalltext=stripSlashes($r[smalltext]);
$smalltext=sub($smalltext,'',$small_length);
$classname=$class_r[$r[classid]][classname];
$newsurl=$public_r[newsurl];
$classurl=$newsurl.$class_r[$r[classid]][classpath];
?>
<div class=latest_news_list fixed>
<div class=news_cover>
<a href=<?=$r[titleurl]?> target=_blank><img src=<?=$r[titlepic]?> width=160 height=100 /></a>
</div>
<div class=news_text>
<h3><a href=<?=$r[titleurl]?> target=_blank><?=$r[title]?></a></h3>
<p><?=$smalltext?></p>
<p><span class=timmer fr><?=date(Y-m-d,$r[newstime])?></span><a href=<?=$classurl?>><?=$classname?></a></p>
</div>
</div>
<?php
}
}
}
db_close();
$empire=null;
?>

前端JS脚本实现代码:

$(function(){
var i = 1; //设置当前页数
$('#loadmore').on('click',function(){
$.ajax({
url : '/e/action/get_news_index.php',
type:'POST',
data:{next:i,'table':'news','action':'getmorenews','limit':15,'small_length':120},
dataType : 'html',
beforeSend:function(){
$(#loadmore).show().html('<img src=/e/extend/Ajaxpl/template/loading1.gif width=80/>正在努力加载中...');
$('#loadmore').attr('disabled','disabled');
},
success : function(data){
if(data){
$(#showajaxnews).append(data);
$(#loadmore).removeAttr('disabled');
$(#loadmore).html('点击加载更多');
i++;
}else{
$(#loadmore).show().html(已全部加载完毕!);
$('#loadmore').attr('disabled','disabled');
return false;
}
}
});
});
});

ajax请求服务端参数说明

next:第几页

table:调用数据表

limit:每次调用数量

small_length:简介截取字符数

length:标题截取字符数

classid:调用栏目,允许多个,如1,2,3,4  特别注意,必须是调用同一数据表的栏目

orderby:排序,默认是newstime,传什么就按什么来排序,如 id

myorder:正反序,默认是asc,传值怎为desc

除此之外还需要有一个按钮来载入更多

<button id=loadmore>点击加载更多内容</button>

还需要一个渲染数据的元素(id=showajaxnews)点击加载更多按钮后获取到的数据会追加到showajaxnews元素里面,在点击载入按钮之前我们需要预放一下数据在里面,这样的话打开页面就有部分数据,点击载入按钮后追加到末尾!

<div id=showajaxnews ></div>

参考模板代码:

本插件是在jQuery下实现,请务必引入jquery,否则不能正常运行!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » 帝国CMS二次开发无刷新Ajax加载更多列表信息插件

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12334资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1406稳定运行(天)

提供最优质的资源集合

立即查看 了解详情