首先说明只能用if判断
为什么呢?因为是在模板中应用  
是纯html的文件 不能用<?php ;?> exploded  echo... 等等来执行 
----------------------------------------------------------------
问题开始
------------------
我有个可多选的 选项字段  共有14项选择
用户可能会全选  也可能只选其中几项。
前台输出结果是:1,2,3,4,5,6,7,8,9,10,11,12,13,14
----------------------------------------------------
我想把输出结果:1,2,3,4,5,6,7,8,9,10,11,12,13,14 打散
其中(1,2,放一列)(3,4,放一列)(5,6,放一列)......  总共7列,每列只要求显示2个选项
------------------------------------------------------------------------------------
如下图:谢谢
调试成功  立即给分

解决方案 »

  1.   

    比如:有一个分类选项字段:aaa
    前台已经输出结果:1,2,3,4,5,6,7,8,9,10,11,12,13,14
    我想把输出的这14个结果打散  分布到7列中。(分布方法:如上图)
      

  2.   

    参考...
    $decStr[] = '1,2,3,4,5,6,7,8,9,10,11,12,13,14';
    $decStr[] = '1,2,3,4,5,6,7,8,9,10,,12,13,14';
    $i = 0;
    foreach($decStr as $dv)
    {
    $da = explode(',',$dv);
    $newArr = array();
    foreach($da as $k=>$v)
    {
    $a[$i] = $v ? ($i++ ? $v."(blue)" : $v."(red)") : "(gray)" ;
    if($k%2!=0)
    {
    array_push($newArr,$a);
    $a = array();
    $i = 0;
    }
    }
    $n[] = $newArr;
    }
    echo "<pre/>";
    print_r($n);
      

  3.   

    我详细的做个解释吧
    zhuanjiazhiban字段一个可多选的分类字段
    ----------------------------------------------------------------------------------------------
    1,2,3,4,5,6,7,8,9,10,11,12,13,14(这14个分类我想分7列显示)
    7列的意思其实是1个星期7天的意思
    1 3 5 7 9 11 13 单数是属于上午
    2 4 6 8 10 12 14 双数是属于下午
    (1,2,)  (3,4,)  (5,6,)  (7,8,)  (9,10,)  (11,12,)  (13,14)
    上面7个括号代表7列,意思也就是1个礼拜的7天。
    每个括号中都有一个单号和双号,意思是说,每天当中有一个上午和下午。
    -----------------------------------------------------------------------------------------------------
    当{$r[zhuanjiazhiban]}输出是1,2,的时候,这个1,2,就固定显示在第一列
    当{$r[zhuanjiazhiban]}输出是3,4,的时候,这个3,4,就固定显示在第二列
    当{$r[zhuanjiazhiban]}输出是5,6,的时候,这个5,6,就固定显示在第三列
    ......类推...
    注明:这个字段是个可多选的字段  共有14项选择 
    用户可能会全选  也可能只选其中几项。
    如果当{$r[zhuanjiazhiban]}把所有的分类1,2,3,4,5,6,7,8,9,10,11,12,13,14全部都输出了
    那么就将(1,2,)  (3,4,)  (5,6,)  (7,8,)  (9,10,)  (11,12,)  (13,14)各奔其位,显示在7列当中属于自己的位置。
    显示方式:如果某些被输出  某些没有输出 的显示方法如下:  
    输出的(单号=上午)的意思:那么就显示这个红色的■符号来替代单数1 3 5 7 9 11 13 
    输出的(双号=下午)的意思:那么就显示这个蓝色的■符号来替代双数2 4 6 8 10 12 14  
    如果没有输出的:不管是单数还是双数,全部用灰色的■符号来替代{if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9,10,11,12,13,14}1{else}14{/if}
      

  4.   

    不知道有没有高手能用if像下面只要判断出来{if $zhuanjiazhiban == 1}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9,10}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9,10,11}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9,10,11,12}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9,10,11,12,13}■{else}□{/if}
    {if $zhuanjiazhiban == 1,2,3,4,5,6,7,8,9,10,11,12,13,14}■{else}□{/if}{if $zhuanjiazhiban == 2}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8,9}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8,9,10}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8,9,10,11}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8,9,10,11,12}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8,9,10,11,12,13}■{else}□{/if}
    {if $zhuanjiazhiban == 2,3,4,5,6,7,8,9,10,11,12,13,14}■{else}□{/if}类推。主要的是这14项是由用户选择的:1,2,3,4,5,6,7,8,9,10,11,12,13,14
    用户可以在这14项中只选择其中1个,可以在这14项中只选择2个 3个 4个 5个 6个...不等
    这个是未知的。
    希望有懂的人能帮忙写出个用if来判断的语法,自动获取用户所选择的