请选择 进入手机版 | 继续访问电脑版

81路工程师大巴 - 81Lu.Net

 找回密码
 立即注册
搜索
查看: 81|回复: 0
收起左侧

帝国cms7.2 无刷新 Ajax 加载更多列表信息源代码,手机加载...

[复制链接]
发表于 2017-8-10 01:28 | 显示全部楼层 |阅读模式

来不及解释了,快上车,享受更多福利,轻轻松松做大牛!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
帝国cms7.2 无刷新 Ajax 加载更多列表信息源代码,手机加载...


get_news_index.php
  1. <?php
  2. require('../class/connect.php');
  3. require('../class/db_sql.php');
  4. require('../data/dbcache/class.php');
  5. if($_POST[action] == 'getmorenews'){
  6. $table=htmlspecialchars($_POST[table]);
  7. if(empty($_POST[orderby])){$orderby='newstime';}else{ $orderby=htmlspecialchars($_POST[orderby]);}
  8. if(empty($_POST[myorder])){$myorder='desc';}else{ $myorder='asc';}
  9. if(empty($_POST[limit])){$limit=15;}else{ $limit=(int)$_POST[limit];}
  10. if(empty($_POST[classid])){$where=null;}else{ $where='where classid in('.$_POST[classid].')';}
  11. if(empty($_POST[length])){$length=50;}else{ $length=(int)$_POST[length];}
  12. if(empty($_POST[small_length])){$small_length=500;}else{ $small_length=(int)$_POST[small_length];}
  13. $link=db_connect();
  14. $empire=new mysqlquery();
  15. $num =(int)$_POST['next'] *$limit;
  16.   if($table){
  17.         $sql=$empire->query("SELECT * FROM `".$dbtbpre."ecms_".$table."` $where order by $orderby $myorder limit $num,$limit");
  18.     while($r=$empire->fetch($sql)){
  19.         if($r[titlepic]==''){
  20.             $r[titlepic]=$public_r[news.url]."e/data/images/notimg.gif";
  21.         }
  22.     $oldtitle=stripSlashes($r[title]);
  23.     $title=sub($oldtitle,'',$length);
  24.     $smalltext=stripSlashes($r[smalltext]);
  25.     $smalltext=sub($smalltext,'',$small_length);
  26.     $classname=$class_r[$r[classid]][classname];
  27.     $newsurl=$public_r[newsurl];
  28.     $classurl=$newsurl.$class_r[$r[classid]][classpath];
  29. ?>
  30.             <div class="latest_news_list fixed">
  31.                 <div class="news_cover">
  32.                     <a href="<?=$r[titleurl]?>" target=_blank></a>
  33.                 </div>
  34.                 <div class="news_text">
  35.                     <h3><a href="<?=$r[titleurl]?>" target=_blank><?=$r[title]?></a></h3>
  36.                     <p><?=$smalltext?></p>
  37.                     <p><span class="timmer fr"><?=date("Y-m-d",$r[newstime])?></span><a href="<?=$classurl?>"><?=$classname?></a></p>
  38.                 </div>
  39.             </div>
  40. <?php
  41.     }
  42.    }
  43. }
  44. db_close();
  45. $empire=null;
  46. ?>
复制代码
前端JS脚本实现代码:
  1. $(function(){   
  2.      var i = 1; //设置当前页数
  3.       
  4.     $('#loadmore').click(function(){
  5.         $.ajax({
  6.         url : '/e/action/get_news_index.php',
  7.                 type:'POST',
  8.                 data:{"next":i,'table':'news','action':'getmorenews','limit':15,'small_length':120},
  9.             dataType : 'html',
  10.         beforeSend:function(){
  11.                 $("#loadmore").show().html('正在努力加载中...');
  12.            $('#loadmore').attr('disabled','disabled');
  13.         },
  14.             success : function(data){
  15.            if(data){
  16.                $("#showajaxnews").append(data);
  17.                           $("#loadmore").removeAttr('disabled');
  18.               $("#loadmore").html('点击加载更多');
  19.                  i++;
  20.             }else{
  21.                 $("#loadmore").show().html("已全部加载完毕!");
  22.                         $('#loadmore').attr('disabled','disabled');
  23.                 return false;
  24.             }      
  25.            }
  26.         });
  27.     });
  28. });
复制代码

ajax请求服务端参数说明


next:第几页

table:调用数据表

limit:每次调用数量

small_length:简介截取字符数

length:标题截取字符数

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

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

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


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

  1. <button  id="loadmore">点击加载更多内容</button>
复制代码

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

游客,如果您要查看本帖隐藏内容请回复


参考模板代码:

815.png


发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请及时给回复的帖子【加分】

当帖子分数用完后,则主题自动结贴,楼主可以返回50%的帖子分数。如果选择【无满意答案结贴】,则结帖后不返分!

添加对方为好友并关注TA,或许会有意想不到的收获!

手机版|小黑屋|81路工程师大巴 - 81Lu.Net ( 豫ICP备15009715号 )

GMT+8, 2017-11-21 15:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表