dede实现点击使用ajax加载更多数据 (三级分类版本)

AJAX点击加载更多 这里面是AJAX点击加载更多,有文档说明,和理论,请大家多试试。 立即下载

一、首先找到并打开/plus/list.php文件,在里面找到如下代码:
require_once(dirname(FILE)."/…/include/common.inc.php");
在这段代码下面添加以下代码:

//列表页瀑布流无限加载代码
if(isset($_GET['ajax'])){
    $typeid = isset($_GET['typeid']) ? intval($_GET['typeid']): 0;//传递过来的分类ID
    $oldids = isset($_GET['ids']) ? $_GET['ids']:''; //已存在的文章id集
    $page = isset($_GET['page']) ? intval($_GET['page']): 0;//页码
    $pagesize = isset($_GET['pagesize']) ? intval($_GET['pagesize']): 15;//每页多少条,也就是一次加载多少条数据
    $start = $page>0 ? ($page-1)*$pagesize : 0;//数据获取的起始位置。即limit条件的第一个参数。
    // 检测该id是否还有子分类,如果有将获取其所有子分类的id,合并。用以获取所有文章
    $twosql = "SELECT id,reid,topid,typename FROM dede_arctype WHERE reid=$typeid";
    $dsql->SetQuery($twosql);
    $dsql->Execute('twocls');
    $twoArr = array();
    $ids = ''; //获取所有分类id
    while($twoList = $dsql->GetArray('twocls')){
        $ids .= $twoList['id'].',';
        $twoArr[] = $twoList;
    }
    if(!empty($twoArr)){
        $ids = substr($ids, 0, strlen($ids)-1);
        // 获取所有子分类id
        $thrsql = "SELECT id,reid,topid,typename FROM dede_arctype WHERE reid in ($ids)";
        $dsql->SetQuery($thrsql);
        $dsql->Execute('thrcls');
        while($thrList = $dsql->GetArray('thrcls')){
            $ids .= $thrList['id'].',';
        }
    }else{
        $ids = $typeid;
    }
    //检测最后一位字符如果为,执行删除
    $lastStr = substr($ids, -1); //获取最后一位字符
    if($lastStr == ','){
        $ids = substr($ids, 0, strlen($ids)-1); //去除最后一位字符
    }

    $typesql = " WHERE a.typeid IN ($ids) AND arcrank=0 AND a.id NOT IN ($oldids)";
    // 获取文章总条数
    $total_sql = "SELECT COUNT(id) as num FROM `#@__archives`  WHERE typeid in ($ids) AND arcrank=0";
    $temp = $dsql->GetOne($total_sql);
    $total = 0;//数据总数
    $load_num =0; //
    if(is_array($temp)){
        $load_num= round(($temp['num']-15)/$pagesize);//要加载的次数,因为默认已经加载了
        $total = $temp['num'];
    }
    // 获取所有文章
    $sql = "SELECT a.*,b.price FROM `#@__archives` as a JOIN `#@__addonarticle` as b ON a.id=b.aid $typesql ORDER BY pubdate DESC LIMIT $start,$pagesize";


    $dsql->SetQuery($sql);
    $dsql->Execute('list');
    $statu = 0;//是否有数据,默认没有数据
    $data = array();
    $index = 0;
    while($row = $dsql->GetArray("list")){
        $row['info'] = $row['info'] = $row['infos'] = cn_substr($row['description'],160);
        $row['id'] =  $row['id'];
        $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],
        $row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
        $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],
        $row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
        $row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],
        $row['isdefault'],$row['defaultname'],$row['ispart'],
        $row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);
        if($row['litpic'] == '-' || $row['litpic'] == ''){
            $row['litpic'] = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';
        }
        if(!preg_match("#^http:\/\/#i", $row['litpic']) &&$GLOBALS['cfg_multi_site'] == 'Y'){
            $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];
        }
        $row['picname'] = $row['litpic'];//缩略图
        //$row['stime'] = GetDateMK($row['pubdate']);
        $row['stime'] = date('Y-m-d', $row['pubdate']);
        $row['click'] = $row['click'];
        $row['typelink'] = "".$row['typename']."";//分类链
        $row['fulltitle'] = $row['title'];//完整的标题
        $row['shorttitle'] = $row['shorttitle'];//副标题
        $row['title'] = cn_substr($row['title'], 80);//截取后的标题
        $data[$index] = $row;
        $index++;
    }
    if(!empty($data)){
        $statu = 1;//有数据
    }
    $result =array('statu'=>$statu,'list'=>$data,'total'=>$total,'load_num'=>$load_num);
    echo json_encode($result);//返回数据
    exit();
}

二、在需要使用的页面引入jquery,实现点击发送ajax

html

<div class="m_index1_list">
				<ul>
                    {dede:list pagesize='4'}
					<li data-id="[field:id/]">
						<a href="view.php?aid=[field:id/]">
							<div class="imgs">
								<img src="[field:picname/]" alt="[field:title/]">
							</div>
							<div class="text">
								<h1>[field:title/]</h1>
								<p class="nowrap">[field:description/]</p>
								<p class="nums">[field:nums/]节 | [field:click/]人在学</p>
								<p class="price">[field:price/]</p>
							</div>
						</a>
					</li>
                    {/dede:list}
					
				</ul>
			</div>
            <div class="getmore">点击加载更多</div>
            <div class="more_empty">数据已全部加载完成~</div>

js

$(function(){
        var currentpage = 1;
        var ids = '';
        //点击加载更多
        $(".getmore").click(function(){
            //第一次点击时获取已有文章的id
            if(currentpage == 1){
                $(".m_index1_list ul li").each(function(e){
                    ids += $(this).attr('data-id')+',';
                })
                ids = ids.slice(0, ids.length-1); //移除最后一位,
            }
            console.log(ids);
            var typeid = "{dede:field name='typeid' runphp='yes' /}";
            console.log(typeid);
            sendAjax(currentpage, typeid, ids, function(res){
                console.log(res);

                return false;
                if(res.statu != 1){
                    $(".more_empty").css('display', 'block');
                    $(".getmore").css('display', 'none');
                }else{
                    $(res.list).each(function(i, n){
                        var str = '';
                        str += '<li><a href="view.php?aid='+n.id+'"><div class="imgs"><img src="'+n.litpic+'" alt="'+n.title+'"></div><div class="text"><h1>'+n.title+'</h1><p class="nowrap">'+n.description+'</p><p class="nums">'+n.nums+'节 | '+n.click+'人在学</p><p class="price">'+n.price+'</p></div></a></li>';
                        $(".m_index1_list ul").append(str);
                    })
                }
                currentpage++;
            });
            
        })

    })

js方法

/**
 * 
 * @param currentpage int 当前页码 
 * @param typeid in 分类id 
 * @param ids string 第一次请求时已有的文章id
 * @param callback function 成功回调函数
 */
function sendAjax(currentpage, typeid, ids, callback){
  console.log(currentpage)
  
  var url = "/plus/list.php";
          var data = {ajax:'pullload',typeid:typeid, ids:ids, page:currentpage,pagesize:4};
          $.ajax({
              url: url,
              data: data,
              async: false,
              type: 'GET',
              dataType: 'json',
              error: function (err) {
                  console.log(err)
                  // alert('网络错误,请检查网络是否正常');
              },
              success: function (data) {
                  // console.log(data);
                  typeof callback == "function" && callback(data);
                  
              }
          });
}
PHP+Ajax点击加载更多内容 PHP+Ajax点击加载更多内容,适用于手机端和web端。 立即下载

相关推荐

实现ajax加载更多功能

我们经常看到在网站底部有“查看更多”的按钮,点击就可以无刷新加载,只要修改数据库信息和前台页面信息,功能就可以实现

织梦dedecms首页列表页ajax点击下拉加载更多文章瀑布流效果

织梦dedecms实现点击下拉加载更多主要用到ajax技术。具体步骤如下: 一、首先找到并打开/plus/list.php文件,在里面找到如下代码: require_once(dirname(__FILE__)."/../include/common.inc.php"); 在这段代码下面添加以下代码: //列表页瀑布流无限加载代码 if(isset($_GET['

渴望光荣的博客 9384

基于jquery库的点击加载更多实现(可在一个页面实现多个)

一个基于jquery库的点击加载更多实现(可在一个页面实现多个)。 真实的案例。 当初进行项目的时候没有找到合适的代码(找到的很多都是滚动条拖到底自动出现,没有点击出现的),并且要实现一个页面多个点击加载,所以动手写了一个,实现方法简单,调试方便,基于真实项目的实现设计,直接就可以用。 方便大家使用。

ajax 点击加载数量,ajax 点击加载更多,出现后面的内容,一次加载十条内容

1.在html部分增加两句代码加载更多 2.js部分代码$(function () {$("#more").click(function () {var page = parseInt($("#page").val());$(this).html("加载中...");status=$(this).attr("data-status");if(status==1) {status = $(this)...

weixin_39517520的博客 413

基于ajax实现点击加载更多无刷新载入到本页

先给大家展示效果图: 效果演示 本例是分页的另外一种显示方式,并不是隐藏未显示的内容 数据库结构与《ajax 翻页》是一样的 JavaScript 代码 [removed] $(document).ready(function() { var track_click = ; //track user click on "load more" button, righ now it is click var total_pages = <?php echo $total_pages; ?>; $('#results').load("f

monocle3-单细胞轨迹分析在疾病研究中的应用

本文深入探讨了monocle3在单细胞轨迹分析中的核心应用,特别是在疾病研究领域。通过实战案例,详细讲解了如何利用monocle3进行轨迹推断,构建细胞状态演变的“路线图”,并结合伪时间分析定位疾病进展阶段。文章还介绍了如何挖掘驱动疾病发展的关键基因,并分享了数据整合、根节点选择等进阶技巧与避坑指南,旨在帮助研究者利用这一强大工具揭示肿瘤异质性、免疫治疗耐药等复杂生物学过程的动态机制。

a3b4c5的博客 639

ajax文章点击加载更多,基于ajax实现点击加载更多无刷新载入到本页

先给大家展示效果图:本例是分页的另外一种显示方式,并不是隐藏未显示的内容数据库结构与《ajax 翻页》是一样的JavaScript 代码$(document).ready(function() {var track_click = ; //track user click on "load more" button,righ now it is clickvar total_pages = ;$(...

weixin_36111561的博客 491

OnlyOffice Docker部署全攻略:解除连接限制+文件大小限制+中文字体优化

本文详细介绍了OnlyOffice企业级Docker部署的完整解决方案,重点破解连接限制、文件大小限制和中文字体优化三大核心痛点。通过定制化镜像部署、性能调优配置和中文字体深度优化,帮助企业实现高效稳定的文档协作平台。

weixin_28837817的博客 368

php ajax加载更多图片,ajax实现点击加载更多数据图片(预加载)

本文给大家介绍ajax如何实现点击加载更多数据图片(预加载)效果的,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。ajax点击加载更多数据--博客园--勇淘未来*{padding:0;margin:0;}.box {margin: 100px auto;width: 550px;}ul li {width:550px;list-style: none;}ul li span{te...

weixin_32523999的博客 274

利用eds editor生成CANOPEN 设备eds文件

通过以上步骤,您可以根据实际设备的功能特性,自动生成一份符合CANopen协议标准的电子数据表(EDS文件),该文件可以被上位机软件或其他CANopen主站设备用于识别、配置和控制您的CANopen从站设备。使用CANopen EDS Editor生成CANOPEN设备的EDS文件是一个系统化的过程,它涉及将设备的具体技术参数和功能映射到CANopen规范定义的对象字典中。

weixin_38604759的博客 6458

别再硬拔了!用这3个终端命令轻松搞定Mac上移动硬盘‘被程序占用’的问题

本文介绍了3个终端命令解决Mac上移动硬盘‘被程序占用’的问题,包括使用`diskutil list`定位硬盘、`lsof`查找占用进程以及`diskutil unmount`安全卸载。这些方法能有效避免数据风险,提升操作效率,特别适合开发者和技术爱好者。

weixin_33507732的博客 294

php ajax 加载列表,PHP+Ajax点击加载更多列表数据实例

一款简单实用的PHP+Ajax点击加载更多列表数据实例,实现原理:通过“更多”按钮向服务端发送Ajax请求,PHP根据分页参数查询将最新的几条记录,数据以JSON形式返回,前台Query解析JSON数据,并将数据追加到列表页。其实也是Ajax分页效果。html代码:::点击加载更多内容::-引入jQuery插件和jquery.more.js加载更多插件:$(function(){$('#more'...

weixin_36031047的博客 297

044、镜头脏污与异物检测:产线 AOI 检测方案与 ISP 脏污补偿

文章摘要(148字) 本文针对镜头生产中的脏污检测问题,提出产线AOI检测与ISP补偿结合的解决方案。产线端采用明场、暗场、偏振三通道联合检测技术,将油污漏检率从8.3%降至0.2%。ISP端通过RAW域局部梯度分析和频域补偿算法,动态修复产线漏检的微小脏污。作者结合实战案例,详细分析了传统灰度阈值法的局限性,并给出多模态检测的代码实现要点,强调必须建立"产线拦截+终端补偿"的双重防护机制。

sundong_81的博客 229

dede实现点击加载更多数据(ajax发送请求)

参考网址:http://www.dede58.com/a/zhimengjiaocheng/development/4580.html 一、首先找到并打开/plus/list.php文件,在里面找到如下代码: require_once(dirname(FILE)."/…/include/common.inc.php"); 在这段代码下面添加以下代码: //列表页瀑布流无限加载代码 if(isset($_GET['ajax'])){ // echo 'ajax'; // exit();

xioxi 443

用Excel或WPS做两独立样本的T检验

一般情况下收集数据时常用的是Excel或者WPS,但统计时却用SPSS等软件进行统计学分析,经常很多人找不到SPSS的安装包,或者苦于正版激活或忘记教程,其实Excel或WPS自带函数就足够了,均数、标准差以及统计检验都是一个函数而已。解释:先做F检验,如果F>0.05就做T检验,Ttset里的数据为两组的数据的比较,结果如下。A组的均数计算 =AVERAGE(B2:B6)A组的标准差计算 =STDEV(B2:B6)B组的标准差计算=STDEV(B7:B19)分组 数值 A组均数 A组标准差 p值。

Mrrunsen的博客 6752

昇腾AI原生创新算子挑战赛(S1赛季)复盘-LessEqual算子

【代码】昇腾AI原生创新算子挑战赛(S1赛季)复盘-LessEqual算子。

william_myq的博客 507

dede文章异步ajax加载,织梦列表使用ajax点击加载更多

本文介绍如何使用ajax技术实现dede列表内容点击加载更多内容需要使用jquery-ias.min.js,下载地址: https://pan.baidu.com/s/1UJ4RRwDCZYu6oE-RbbC5Bw 密码: xnchjquery.js 与 jquery-ias.min.js:添加js代码var ias = $.ias({container: ".listbox", //包含所有文章...

weixin_36309562的博客 311

02 HCM CPI SF集成-组织集成(一)

将员工主数据和组织数据从SAP Successfactors Employee CentraI复制到SAPERP或SAP S/4HANA,SAP SF CPI HCM集成

SAP CPI 129

dede文章异步ajax加载,织梦DEDE列表采用ajax点击加载更多

本文介绍怎么样采用ajax技术达成dede列表内容点击加载更多内容需要采用jquery-ias.min.js,下载地址: https://pan.baidu.com/s/1UJ4RRwDCZYu6oE-RbbC5Bw 密码: xnchjquery.js 与 jquery-ias.min.js:添加js代码var ias = $.ias({ container: ".listbox", //包...

weixin_36373860的博客 247

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

dedecms ajax加载,织梦列表使用ajax点击加载更多

本文介绍如何使用ajax技术实现dede列表内容点击加载更多内容需要使用jquery-ias.min.js,下载地址: https://pan.baidu.com/s/1UJ4RRwDCZYu6oE-RbbC5Bw 密码: xnchjquery.js 与 jquery-ias.min.js:添加js代码var ias = $.ias({container: ".listbox", //包含所有文章...

weixin_39606118的博客 451

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

dede文章异步ajax加载,织梦DedeCMS列表“加载更多”“无限下拉”Ajax加载使用方法...

Infinite Ajax Scroll 简称 ias,无限的ajax滚动,是一款jQuery滚动ajax分页插件,当页面滚动到容器可见部分将自动异步加载数据。下面先来看看效果。无限下拉效果点击加载更多效果插件说明炒鸡简单,不用改动程序内核文件,不用懂php代码支持“加载更多”支持“无限下拉”支持动静态支持图片延迟加载插件的集成很简单,分以下几个步骤:1、页面中引用 jquery.js 与 jq...

weixin_30920907的博客 400

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ajax瀑布流 dede,dedecms加载更多,无限下拉瀑布流插件

这篇教程会使用到Infinite Ajax Scroll插件,即无限的ajax滚动,当页面滚动到容器可见部分将自动异步加载数据。插件的集成很简单,分以下几个步骤:1、页面中引用jquery.js 与 jquery-ias.min.jsjquery-ias.min.js与jquery.js 下载链接: 链接: https://pan.baidu.com/s/12O_lrto_HBB4aGhdnFYd...

weixin_29231221的博客 257

列表页点击加载更多,无刷新加载更多文章的方法(yii)

先说下看到这个问题后的思路,首先有个更多按钮,当点击更多按钮时候,触发一个js事件,js通过ajax向controller传值,并返回相关json数据,循环json数据,加到页面相关位置。 更多 $('.get_more').click(function(){ //取得现在页面上的文章数 var articlecount = $('.xxx').length; $.a

u010674395的专栏 1697

织梦dedecms首页列表页,ajax点击加载更多,瀑布流,首页多栏目切换简化版

去年6月写过一个相关教程,发现重复的代码占一大半,现在优化下,更简单. 点击查看原文 http://blog.youkuaiyun.com/viqecel/article/details/51675573 简化部分主要是栏目切换时,除子第一个默认栏目,其它的全改成ajax,不再生成静态页,而且通过php循环,简化了代码.另外加载更多按钮等也修改了触发形式. 效果图       一,模板 模...

8245

织梦DedeCMS列表“加载更多”“无限下拉”Ajax加载使用方法

记录一次项目经历,需要在DEDECMS中用到无限下拉替换点击分页功能,分享下,记录点滴,需要的可以共同交流! Infinite Ajax Scroll简称ias,无限的ajax滚动,是一款jQuery滚动ajax分页插件,当页面滚动到容器可见部分将自动异步加载数据。 下面先来看看效果。 无限下拉效果 点击加载更多效果 插件说明 炒鸡简单,不用改动程序内核文件,不用懂php代码 支持“加载更多” 支持“无限下拉” 支持动静态 支持图片延迟加载 插件的集成很简单,分以下几个步骤..

QQ272821361的专栏 610

点击更多加载更多新闻内容

点击更多加载更多新闻内容

qq_27669311的博客 564
上一篇: dede调用二三级分类
下一篇: PHP基于phpqrcode类生成二维码的方法详解
if时光重来
博客等级 码龄8年 248粉丝 217原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值