解决方案 »

  1.   

    这个在勾选了颜色的时候 提交后台数据查询。例如
    color=红 把查询结果表现在点击的按钮上边,然后如果用户再勾选一个,则后台查询
    colore=红 and size=1 把查询的结果表现在按钮上
    不就可以了
      

  2.   


    $specs = array(
        'c' => '颜色',
        's' => '大小',
        't' => '质地',
        'm' => '款式',
    );
    $combi = Array
    (
        [红_1m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 1m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [红_1m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 1m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 0
            )    [红_1m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 1m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 0
            )    [红_1m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 1m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 1
            )    [红_2m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 2m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [红_2m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 2m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 1
            )    [红_2m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 2m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 0
            )    [红_2m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 2m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 0
            )    [红_3m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 3m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [红_3m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 3m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 1
            )    [红_3m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 3m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 1
            )    [红_3m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 红
                        [s] => 3m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 0
            )    [绿_1m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 1m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [绿_1m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 1m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 1
            )    [绿_1m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 1m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 1
            )    [绿_1m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 1m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 0
            )    [绿_2m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 2m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [绿_2m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 2m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 1
            )    [绿_2m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 2m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 1
            )    [绿_2m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 2m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 1
            )    [绿_3m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 3m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [绿_3m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 3m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 0
            )    [绿_3m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 3m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 1
            )    [绿_3m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 绿
                        [s] => 3m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 0
            )    [蓝_1m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 1m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [蓝_1m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 1m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 1
            )    [蓝_1m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 1m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 1
            )    [蓝_1m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 1m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 0
            )    [蓝_2m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 2m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 1
            )    [蓝_2m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 2m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 0
            )    [蓝_2m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 2m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 0
            )    [蓝_2m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 2m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 1
            )    [蓝_3m_皮_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 3m
                        [t] => 皮
                        [m] => 款式1
                    )            [num] => 0
            )    [蓝_3m_皮_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 3m
                        [t] => 皮
                        [m] => 款式2
                    )            [num] => 0
            )    [蓝_3m_棉_款式1] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 3m
                        [t] => 棉
                        [m] => 款式1
                    )            [num] => 1
            )    [蓝_3m_棉_款式2] => Array
            (
                [specs] => Array
                    (
                        [c] => 蓝
                        [s] => 3m
                        [t] => 棉
                        [m] => 款式2
                    )            [num] => 0
            ))
    可以从这个结果集中进行多次筛选看看
      

  3.   

    我做过这种筛选,但是方法比较笨。
    建一个数组保存要要筛选的值,用来进行下次添加条件时,组装sql语句,再建一个数组保存已经筛选的属性,红色框就相当于表示已经筛选的属性。
      

  4.   

    不太清楚你打算得到怎样的结果
    假定你的数组为 $dict,则有$_GET = array('c' => '红', 't' => '皮', 's' => '2m');print_r(find($dict));function find(&$ar) {
      $res = array();
      foreach($ar as $k=>$item) {
        if($_GET == array_intersect_assoc($_GET, $item['specs'])) {
          if($item['num']) $res[] = $k;
        }
      }
      return $res;
    }
    Array
    (
        [0] => 红_2m_皮_款式2
    )
      

  5.   


    $size = [1,2,3,4,5];
    $color = [a,b,c];
    $stru = [x, y];$result = array();
    $result[1_a_x] = 15;
    $result[2_a_x] = 10;
    $result[3_a_y] = 12;function fun($cur, $pos, $result) {
      return ;// 通过传进来的cur 和a 来返回相应的值,
      //例如传了a,1,则取出来是[0] = [1,2,3],[2] => [x,y]
      // 最简单(效率不高)的办法是遍历拿到result key 根据$pos 取出来相应的位置,然后算出来其他两列的值。
      

  6.   


    根据#8的数组$combi,可选择的商品有:
        红/1m/棉/款式2
        红/2m/皮/款式2
        红/3m/皮/款式2
        红/3m/棉/款式1
        绿/1m/皮/款式2
        绿/1m/棉/款式1
        绿/2m/皮/款式2
        绿/2m/棉/款式1
        绿/2m/棉/款式2
        绿/3m/棉/款式1
        蓝/1m/皮/款式2
        蓝/1m/棉/款式1
        蓝/2m/皮/款式1
        蓝/2m/棉/款式2
        蓝/3m/棉/款式1
    选择界面:进行选择:
    1. 选择了 红色时效果:2. 选择了 红色,2m时效果:3. 选择了 红色,棉时效果:4. 选择了 红色,棉,3m时效果:5. 选择了 红色,皮时效果:6. 选择了 红色,皮,3m时效果:7. 选择了 红色,皮,3m,款式2时效果:
    不知道描述清楚了没有,脑袋要成浆糊了。。