文档章节

自动排序商品,同分类下间隔显示

m
 mezongzi
发布于 2017/07/06 23:52
字数 392
阅读 6
收藏 0
点赞 0
评论 0

<?php
    //提交过来的数据
    $_POST = array('title'=>"aaaa","cid"=>12,"sort"=>0);
    
    //分类是12
    $cid = intval($_POST['cid']);

    //1.从数据库中取30条数据,假设允许2个产品可以同时出现
    //其中数组中的key为产品的编号,value为产品分类编号
    $lists = array(
        "1"=>12,
        "2"=>12,
        "3"=>2,
        "4"=>12,
        "5"=>2,
        "11"=>12,
        "12"=>12,
        "18"=>2,
        "22"=>12,
        "44"=>2,
        "54"=>12,
        "76"=>2,
        "77"=>12,
        "99"=>2,
        "100"=>12,
        "111"=>12,
        "120"=>1,
        "121"=>12,
        "131"=>12,
    );
    
    //2.获取位置
    $ids = array_keys($lists);    
    $cids = array_values($lists);
    $lists_length = count($lists);
    
    //3.假设我开始要添加分类为12的产品的时候
        //#1#去判断最后2个产品是否是12,如果都是12要进入排序算法
        if($cid == $cids[$lists_length-1] && $cid == $cids[$lists_length-2]){
            //不管位置在什么地方,就从1开始
            $insert_position=1;
            
            //如果是ture的话就是一直循环下去
            while(true){    
                //如果没有插入位置的话,还是要按顺序添加啊
                if($insert_position >= $lists_length){
                    break;
                }
            
                //想插入的位置
                $insert_position_cid = $cids[$insert_position];
            
                //如果插入的位置的产品分类跟要插入的产品分类一样,继续倒推
                if($cid == $insert_position_cid){
                    $insert_position++;
                    continue;
                }
                
                //当前位置要看看啊,左边产品分类是否是12
                $beforCid = $cids[$insert_position-1]; 
                $nextCid = $cids[$insert_position+1]; 
                
                //如果其中一个有的话,就要继续争推了
                if($cid == $beforCid || $cid == $nextCid){
                    $insert_position++;
                    continue;
                }else{
                    echo $insert_position;
                    echo '<br/>';
                    break;
                }
            }
            //通过位置去获取id数据啦
            $id = $ids[$insert_position-1];
            
            //通过id去找当前的产品,并且设置排序            
            echo $id;
        }else{
            $_POST['sort'] = "是最后一个产品的排序加上"+1000;
        }
    

© 著作权归作者所有

共有 人打赏支持
m
粉丝 3
博文 2
码字总数 624
作品 0
台州
高级程序员
DBShop 电子商务系统 V0.9.3 RC 版发布

DBShop V0.9.3 RC 2016.11.21 发布了,DBShop 电子商务网店系统,采用业界知名框架 ZendFramework 2 开发而成。 更新内容: 修正: 修正 后台商品分类 编辑勾选标签组保存后,再次编辑不能全...

静静的风
2016/11/21
2.4K
6
金刚多用户商城系统--kgMall

kgMall介绍 kgMall多用户商城,是一个高性能的多用户版商城,采用j2EE技术,支持linux/win/unix等多个平台,速度快,稳定安全。适用于国内购物广场,城市批发市场,行业垂直,跨国贸易等零散商...

聚龙软件
2011/11/12
19.8K
1
KgMall More Shop 店中店版更新包发行!

KgMall More Shop店中店版最新更新包发行!新版增加绿色模板一套,店铺模板一套,增加Gres web资源库等。 发行通告:KgMall More Shop 中文版将软件发布到360云盘,服务器不再维护软件包更新...

zkk6636
2014/03/18
1K
1
多用户商城系统 KgMall 2.1发布!

2014-5-28日,广州JUULUU发布多用户商城系统 KgMall2.1,kgMall是国内一款JAVA开源多用户版商城系统,新版KgMall更加模块化,juuluu团队重构了Kgcms的多个模块,使之更易于开发. KgMall2.1更新 1)...

聚龙软件
2014/05/28
4K
0
网趣网上购物系统

程序名称:网趣网上购物系统时尚版V11.2 源码大小:4.5 M 建议分类:ASP/电子商务 网趣网上购物系统时尚版是基于ASP平台的网店软件,作为拥近八年开发实践经验的软件开发商,网趣购物系统一直...

cnhww
2011/12/23
3.6K
0
电商业务元素

供应商管理 多种类型供应商 供应商管理管理 供应商对接管理 商品管理 商品分类 商品标签 商品排序 商品配送范围 商品销售渠道 商品库存 商品价格 商品活动 会员体系 会员账户 会员活动 订单管...

飓风2000
2016/04/30
95
2
商城系统 DBShop V1.1 RC 20170714 发布

DBShop 电子商务网店系统,采用PHP官方框架 ZendFramework 2 开发而成。在网上建立自己的店铺、自己的销售网站的不二之选。强大的后台管理及简单的操作流程,让您一见倾心。严谨的功能结合、...

静静的风
2017/07/14
1K
1
WSTMall V1.4.0 商品二维码来袭,安卓扫一扫,商品批量导入

WSTMall 是一款基于thinkphp 3.2进行开发的多商户O2O开源系统 ,是一款能够帮助企业及个人快速构建O2O(线上到线下)服务体系的系统 ,全方位助力创业团队的快速成长及商业变现! WSTMall V1...

B2B2C开源商城
2015/11/09
2.1K
8
Linux系统监控工具之top详解

top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。 常用热键 用途 t 显示摘要信息开关. m 显示内存信息开关...

jiyayun
2012/10/25
0
0
如何在Ubuntu上使用Glances监控系统

Glances 的功能 ◆CPU 平均负载 ◆不同状态(如活动、休眠)进程的数量 ◆所有内存信息,如物理内存、交换空间、空闲内存 ◆CPU 信息 ◆网络连接的上行/下行速度 ◆磁盘 I/O 读/写速度详细信息...

linuxprobe
2016/07/16
28
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流利阅读笔记29-20180718待学习

高等教育未来成谜,前景到底在哪里? Ray 2018-07-18 1.今日导读 在这个信息爆炸的年代,获取知识是一件越来越容易的事情。人们曾经认为,如此的时代进步会给高等教育带来众多便利。但事实的...

aibinxiao
20分钟前
7
0
第15章FTP服务搭建与配置

15.1FTP介绍 FTP多用于Windows传文件到linux rz sz在文件超过4G,就无法使用了——>安装包yum install -y install lrzsz rz把 window 上的文件传输到 linux 上 sz 把 linux 上的文件传输到 ...

Linux学习笔记
27分钟前
0
0
OSChina 周三乱弹 —— 你被我从 osc 老婆们名单中踢出了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小鱼丁:分享五月天的单曲《后来的我们 (电影《后来的我们》片名曲)》: 《后来的我们 (电影《后来的我们》片名曲)》- 五月天 手机党少年们想...

小小编辑
32分钟前
7
1
Spring Boot Admin 2.0开箱体验

概述 在我之前的 《Spring Boot应用监控实战》 一文中,讲述了如何利用 Spring Boot Admin 1.5.X 版本来可视化地监控 Spring Boot 应用。说时迟,那时快,现在 Spring Boot Admin 都更新到 ...

CodeSheep
51分钟前
0
0
Python + Selenium + Chrome 使用代理 auth 的用户名密码授权

米扑代理,全球领导的代理品牌,专注代理行业近十年,提供开放、私密、独享代理,并可免费试用 米扑代理官网:https://proxy.mimvp.com 本文示例,是结合米扑代理的私密、独享、开放代理,专...

sunboy2050
今天
0
0
实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
1
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部