https://blog.csdn.net/a898712940/article/details/78545599?utm_source=blogxgwz8

适用范围:thinkphp3.2和thinkphp5.0

php代码:

public function myorder_list(Request $request){

   $uid = $this->uid;
$where = array(
'uid' => $uid,
);
$page = $this->request->param('page') ? $this->request->param('page') : 1; //获取请求的页数
$num = 10;//请求条数
$order_list = db('shop_order')
->alias('so')
->join(config('database.prefix').'shop_order_goods sog','so.id = sog.orderid')
->field('so.ordersn,so.pay_price,sog.id,sog.orderid,sog.goodsid,sog.goods_name,sog.goods_price,sog.thumb,sog.total')
->where($where)
->order("so.createtime", 'desc')
->page($page,$num)
->select(); foreach ($order_list as $k=>$v){
$order_list[$k]['total'] = db('member_video')->where('orderid',$v['id'])->count();
}
//判断是否为ajax请求,获取更多数据
$count = count($order_list);
if($this->request->isPost()){
if($count<$num){//判断是否到尾页
$order_list[]['id']=0;//到尾页返回0
}
return json($order_list);//将数组转成json格式返回
exit;//中断后面的display()
}
$this->assign('order_list',$order_list);
$this->assign(['num'=>$num,'count'=>$count]);
return $this->view->fetch();
}

html代码:

<ul class="orderlist-wrap" >
{if !empty($order_list)}
{volist name="order_list" id="vo"}
<li class="orderlist">
<a class="orderlist-a" href="">
<img src="{if !empty($vo.thumb)} {$vo.thumb} {else} /uploads/videos/20171109/1627f7f77cefa595bc0ea4b95bdd8f30.jpg {/if}" />
<span class="orderlist-txt-l">
<span class="orderlist-txt-ls1">{$vo.ordersn}</span>
<span class="orderlist-txt-ls2">
<i>数量:{$vo.total}</i>
<i>总价:<span class="iconfont13 icon-rmb"></span>{$vo.pay_price}</i>
</span>
</span>
</a>
<span class="orderlist-txt-r">
<span class="orderlist-txt-r1">待评价</span>
<a class="orderlist-txt-r2">评价</a>
</span>
</li>
{/volist}
{else/}
<div class="tomore" id="nocell" style="text-align: center;line-height: .55rem;" >暂无订单记录...</div>
{/if}
</ul>
{if $count egt $num}
<div class="tomore" id="getmore" style="text-align: center;line-height: .55rem;color: #0061ff;">查看更多<i class="iconfont12 icon-gengduo1"></i></div>
{/if} <!-- 请求的页数-->
<input type="hidden" name="" id="page" value="2">

js代码:

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
var page = $("#page").val(); //从第二页开始获取数据
$("#getmore").click(function(){
$.ajax({
type: "post",
dataType: "json",
url: '{:url("m/member/myorder_list")}',
data: {page:page},
success: function(data) {
//console.log(data);
var str = "";//定义变量保存内容
$.each(data,function(index,array){
if (array['id']){
str += '<li class="orderlist">'+
'<a class="orderlist-a" href="">'+
'<img src="'+array['thumb']+'"/>'+
'<span class="orderlist-txt-l">'+
'<span class="orderlist-txt-ls1">'+array['goods_name']+'</span>'
+'<span class="orderlist-txt-ls2">'
+'<i>数量:'+array['total']+'</i>'
+'<i>总价:<span class="iconfont13 icon-rmb"></span>'+array['goods_price']*array['total']+'</i>'+
'</span>'+
'</span>'+
'</a>'+
'<span class="orderlist-txt-r">'+
'<span class="orderlist-txt-r1">'+'待评价'+'</span>'+
'<a class="orderlist-txt-r2">'+'评价'+'</a>'+
'</span>'+
'</li>';
}else{
$("#getmore").html("没有更多内容了..");
}
});
$(".orderlist-wrap").append(str); //把HTML添加到容器
var pageval = page++;//页数+1
$("#page").val(pageval);
}
});
});
</script>

thinkphp+ajax 实现点击加载更多数据的更多相关文章

  1. ajax点击加载更多数据图片(预加载)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. jQuery+php+Ajax文章列表点击加载更多功能

    jQuery+php+Ajax实现的一个简单实用的文章列表点击加载更多功能,点击加载更多按钮,文章列表加载更多数据,加载中有loading动画效果. js部分: <script type=&qu ...

  3. PHP+Ajax点击加载更多列表数据实例

    一款简单实用的PHP+Ajax点击加载更多列表数据实例,实现原理:通过“更多”按钮向服务端发送Ajax请求,PHP根据分页参数查询将最新的几条记录,数据以JSON形式返回,前台Query解析JSON数 ...

  4. PHP+Ajax点击加载更多内容 -这个效果好,速度快,只能点击更多加载,不能滚动自动加载

    这个效果好,速度快,只能点击更多加载,不能滚动自动加载 一.HTML部分 <div id="more"> <div class="single_item ...

  5. Yii 1开发日记 -- Ajax实现点击加载下一页

    功能实现:先输出一页的内容,然后点击加载下一页,如图 1.控制器中 /** * 消费记录:列出用户购买章节的记录 */ public function actionMyPayHis() { //点击加 ...

  6. Spring+Hibernate+struts2+JPA 注解+跨域//完成手机端点击加载更多 下拉加载更多

    一.使用IDEA新建一个maven项目(student) 1.1.0编写pom文件,添加项目所需要的包 <?xml version="1.0" encoding=" ...

  7. Jquery点击加载更多

    一.点击加载更多有点像分页获取数据类似,下面是本人写的一个简单的小例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  8. IOS - UITableView分批显示数据 实现点击加载更多

    Phone屏幕尺寸是有限的,如果需要显示的数据很多,可以先数据放到一个table中,先显示10条,table底部有一察看更多选项,点击察看更多查看解析的剩余数据.基本上就是数据源里先只放10条, 点击 ...

  9. tableView中的“点击加载更多”点击不到

    假设当前的tableView是_tableView,则可以这样设置 _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); 该属性用于设置当 ...

随机推荐

  1. Taro框架---左滑动删除

    index.js import Taro, { Component } from '@tarojs/taro' import { View,ScrollView } from '@tarojs/com ...

  2. (转)第04节:Fabric.js用路径画不规则图形

    在Canvas上画方形.圆形.三角形都是很容易的,只要调用fabric对应的方法就可以了,但这些都是规则的图形,如果你想画一个不规则的图形,这时候你可以用fabric.js提供的路径绘图方法.所谓路径 ...

  3. C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅

    定义string变量为str,内存流变量为ms,比特数组为bt 1.字符串=>比特数组 (1)byte[] bt=System.Text.Encoding.Default.GetBytes(&q ...

  4. Sequelize

    连接数据库 const DB = require('sequelize') // 连接数据库 const connect = new DB('xjg', 'root', 'root', { host: ...

  5. selenium基础(参数化脚本)

    参数化脚本 什么是参数化 参数化就是用包含多组数据的参数列表,使之替换脚本中的响应常量值,这样,在脚本运行的时候,就会使用参数表中的数据来代替脚本中的常量值 由于参数表中包含了多组数据,所以执行用例时 ...

  6. spark2.0在IDE运行的问题

    spark2.0搭建到服务器跑很方便,但是本地跑和之前1.6还是有点区别,鼓捣了一点到半夜2点多总算能跑了.. 遇到的问题 1.idea千万要用file---setting-----plugins的s ...

  7. JavaScript特效源码(6、页面特效一)

    1.页面全屏 页面全屏显示[ALT+F4关闭][共1步][新弹出窗口并以全屏幕方式显示] ====1.将以下代码加入HTML的<body></body>之间: <form ...

  8. activeMQ消息队列安装配置

    1.  下载 到官网下载最新版本,有windows版本和linux版本的. http://activemq.apache.org/download.html 2.   windows下部署 Activ ...

  9. 关于str的打印格式

    实际上一般的打印格式应该是这样的: %[(keyname)][flags][width][.precision]typecode (1) keyname: 用于打印Dict类型时做索引; (2) fl ...

  10. thinkphp 视图定义

    视图定义 视图通常是指数据库的视图,视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的 ...