自动排序商品,同分类下间隔显示
博客专区 > mezongzi 的博客 > 博客详情
自动排序商品,同分类下间隔显示
mezongzi 发表于10个月前
自动排序商品,同分类下间隔显示
  • 发表于 10个月前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

<?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;
        }
    

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 3
博文 2
码字总数 624
×
mezongzi
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: