thinkphp 获取推荐商品

private function getTuijianGoods($goods_id='',$nav_arr=array())

{

    $gid_group = array();

    if(session('member.member_id')){

        $member_id = session('member.member_id');

        $model=M();

        //联合查出收藏过的商品和下过单的商品

        // $sql="select goods_id from favorits where member_id=$member_id union (select distinct tb2.goods_id from `order` as tb1 left join `order_info` as tb2 on tb1.id=tb2.order_id where tb1.member_id=$member_id)";

        $sql="select goods_id from favorits where member_id=$member_id";

        $goods = $model->query($sql);

        foreach($goods as $ka=>$va){

            if($va['goods_id']!=$goods_id){

                $gid_group[] = $va['goods_id'];

            }

        }

    }

    //当收藏过的商品和下过单的商品少于3个时就采用首页推荐的商品

    $goods_model=M('goods');

    

     $f='id,goods_image,goods_name,goods_image_index';   

    if(isset($gid_group) && count($gid_group)>=3){

        $w['id'] = array('IN',$gid_group);

        $w['status']=array('eq',1);

         $w['is_del']=array('eq',0);

      $goodsList=$goods_model->field($f)->where($w)->limit(12)->select();

      shuffle($goodsList);

    }else{//跟住商品所在的导航分类寻找

        $nav_id='';

        $id_arr = '';

        foreach($nav_arr as $ka=>$va){

            $nav_id[] = $va['id'];

        }

        $w2['nav_id'] = array('IN',$nav_id);

        $w2['status']=array('eq',1);

         $w2['is_del']=array('eq',0);

        $cache1 = md5($goods_model->field("id")->where($w2)->buildSql());//跟距导航分类查出商品的id集合

        if(!S($cache1)){

                $nav_arr=$goods_model->field("id")->where($w2)->select();

                S($cache1,$nav_arr);

            }else{

                $nav_arr = S($cache1);

            }

        foreach($nav_arr as $ka=>$va){

            $id_arr[] = $va['id'];

        }

        if(count($id_arr)>6){//当商品个数不足6个时,选取热销商品

            $nid = array_rand(array_flip($id_arr),6);//随机获取元素

            $w1['id'] = array('IN',$nid);

        }else{

            $w1['is_hot'] = array('eq',1);

        }

        $w1['status']=array('eq',1);

         $w1['is_del']=array('eq',0);

        $goodsList = $goods_model->where($w1)->field($f)->select();

    }

 if($goodsList){

     shuffle($goodsList);

     return $goodsList;

 }else{

     return false;

 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WSTMall 是一款基于thinkphp 3.2进行开发的多商户O2O开源系统 ,是一款能够帮助企业及个人快速构建O2O(线上到线下)服务体系的系统 ,全方位助力创业团队的快速成长及商业变现! 为了更好地兼容系统,我们建议使用PHP5.3以上环境运行WSTMall。后期我们新增功能主要依开发计划以及参考用户在本网站提出的建议,希望更多用户朋友能通过本站向我们提出更多的宝贵意见。 本次修订版主要解决以下问题: 1.新增WSTMall商品详情商品二维码。 2.新增店铺、商品的收藏功能。 3.新增在线支付的流水号号记录。 4.详情新增批量上传图片的功能。 5.新增商品导入功能。 6.后台商品列表新增“精品”“推荐商品筛选,新增系统分类的筛选。 7.新增商品批量操作订单的操作功能,如-受理、打包、配送的订单操作。 8.购物车中加入店铺QQ。 9.调整注册页、登录页布局。 10.期望送达时间与店铺的营业时间关联。 11.修复购物车两个全选功没起作用的bug。 12.修复商品详情页图片没限制宽度体验性欠佳的BUG。 13.修复搜索时输入空格被转为+号,导致搜索结果不正确的BUG。 14.删除店铺的时候一起删除店铺的登录账号并且下架店铺的所有商品。 15.把店铺改为未审核或者拒绝时,也将店铺的商品状态改为下架以及未审核。 16.商品搜索时搜索关键字可通过空格分割进行搜索。 17.修复购物车修改购买数量时总价格错误的BUG。 18.我是卖家-店铺设置-滚动广告,给图片增加点击的链接。 19.修复商品详情,商品介绍没有设置自动换行的bug。 20.商品详情-商品评价排序修改。 21.修复注册无法输入@的bug。 22.修复已删除店铺在店铺街还显示的bug。 23.修复用户提到的首页图片模糊问题。 24.商品名称输入长度增加长度。 25.修复商家二级商品分类双击隐藏失败的bug。 26.修复商品搜索获取价格分类出错的bug。 27.修复在线支付失败的bug。 28.后台商品列表修改。 *若已安装的用户请参照以下步骤: 1.执行wstmall/Upgrade/1.4.0.sql进行数据库升级。 2.将wstmall/Upgrade/Upgrade里面的程序拷贝到网站WSTMall根目录下覆盖。
一、ThinkPHP3.2仿京东实战电子商城开发项目 第一天 1.项目说明 2.时间插件、XSS过滤、在线编辑器使用 3.商品的删除 4.商品的修改完成-一张表的操作全部完成 5.tp中使用AJAX提交表单 6.把模板套到项目中 7. 管理员的登录 第二天 1.锁机制 2.时间插件、XSS过滤、在线编辑器使用 3.商品的删除 4.商品的修改完成-一张表的操作全部完成 5.tp中使用AJAX提交表单 6.把模板套到项目中 7. 管理员的登录 第三天 1.模板布局 2.图片上传函数、代码生成器使用 3.代码生成器的使用 4.RBAC建表和生成基本的代码 5.RBAC-完成添加角色和权限的功能-1 5.RBAC-完成添加角色和权限的功能-2 6.选择权限时JS的智能选择 7.角色完成 第四天 1.管理员管理 2.RBAC-权限的验证-完成 3.商品模块需求分析 4.商品模块表结构设计 5.类型管理 第五天 1.商品表的设计 2.商品模块-添加商品的表单制作-1 3.商品模块-添加商品的表单制作-2 4.商品模块-处理添加商品的表单-1 5.商品模块-处理添加商品的表单-完成 第六天 1.商品修改表单的制作-1 2.商品修改表单的制作-2 3.处理商品修改的表单-1 4.处理商品修改的表单完成 5.商品删除-回收站-还原 第七天 1.商品模块表结构设计 2.商品库存表单的制作 3.库存量的添加处理 4.库存量的修改完成 5.趣味题:打印矩阵-苹果篮子-字符串截取 6.前台网站优化思路 7.前台公共模板的制作 第八天 1.首页-分类树数据的获取 2.商品推荐数据的获取-疯狂抢购 3.首页添加缓存功能 4.会员注册 5.会员验证与登录 6.登录的验证 第九天 1.商品详情页-1 2.商品详情页的缓存 3.会员价格 4.最近浏览 5.最近浏览0完成 6.商品评论-判断登录状态并实现登录之后的跳转 第十天 1.ajax发表评论 2.ajax获取加载评论 3.评论的优化 4.加入购物车 5.购物车列表 6.购物车的修改 7.AJAX跨域-jsonp 第十一天 1.下定单-1 2.下定单-2 3.只能购买在购物车中勾选的商品 4.支付宝支付-1-制作去支付宝的按钮 5.支付宝集成-2-完成 6.网站上线并在QQ互联中创建一个APP 7.QQ登录集成完成 第十二天 1.后台分类筛选属性的添加 2.后台分类筛选属性修改完成 3.搜索页面中获取搜索的分类下的筛选属性 4.搜索页面价格与属性的获取完成 5.获取商品销量和评论数并根据价格和分类搜索商品 6.商品的排序 7.商品属性的搜索 附件:课程全部资料(课件+源码) 模板 二、ThinkPHP3.2框架加强 ThinkPHP基础加强 01-搭建应用 02-前台页面搭建 03-后台页面搭建 04-布局设置 05-验证码制作并显示 06-验证码校验 07-验证用户名 08-后台管理员登录系统实现 09-附件上传(商品的添加和展示) 10-附件上传逻辑 11-制作缩略图 12-自定义工具类实现分页效果 13-前台用户注册效果 14-表单验证和自动完成 15-redis案例存储-最新登录的前5个用户 ThinkPHP RBAC讲解 01-RBAC-介绍(已加密) 02-RBAC-数据模拟 03-RBAC-不同用户登录系统显示对应权限 04-RBAC-给admin开放绝对权限 05-RBAC-分配权限表单展示 06-RBAC-角色分配权限-收集表单信息 07-RBAC-显示默认拥有的权限 08-RBAC-权限列表展示 09-RBAC-添加权限实现 10-RBAC-访问权限控制 11-RBAC-禁止未登陆用户访问系统 12-RBAC-tp框架使用jquery

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值