CodeIgniter选择带有for循环的下拉框

时间:2014-03-10 05:22:03

标签: php codeigniter

我尝试为选择框创建循环 对于选择时间开始8.00并继续增加它 为此,我找到了解决方案 creating a loop for time incremented by 15 minutes 但我把它放在我的代码下,它只显示一次 但我用  后续代码var_dump($ timeinoption) 它显示正确 如

array (size=1)
  '8 . 0' => string '8 . 0' (length=5)

array (size=1)
  '8 . 15' => string '8 . 15' (length=6)

array (size=1)
  '8 . 30' => string '8 . 30' (length=6)

array (size=1)
  '8 . 45' => string '8 . 45' (length=6)

array (size=1)
  '9 . 0' => string '9 . 0' (length=5

但是codeignaiter选择框不起作用;

form_dropdown('timein',$timeinoption,'8.30');

它只在选择框上显示一次

echo form_label('Time Start','timestart');

for ($i = 8; $i <= 17; $i++)
{
  for ($j = 0; $j <= 45; $j+=15)
  {
    //inside the inner loop
    $opti= $i.' . '. $j;
    $timeinoption=array($opti=>$opti) ;
    }
  //inside the outer loop


}

echo form_dropdown('timein',$timeinoption,'8.30');


     ?>

3 个答案:

答案 0 :(得分:1)

你必须在循环中进行数组:

$timeinoption = array();
for ($i = 8; $i <= 17; $i++)
{
  for ($j = 0; $j <= 45; $j+=15)
  {
    //inside the inner loop
    $opti= $i.' . '. $j;
    $timeinoption[$opti]  = $opti;
    }
  //inside the outer loop    

}

答案 1 :(得分:1)

你在每个循环上覆盖你的数组

$timeinoption=array($opti=>$opti);

因此,数组中只有1个值。

尝试更改为

$timeinoption[$opti]= $opti;

答案 2 :(得分:0)

简单的方法将循环下拉列入CI

$ d_opt = array(0 =&gt;&#39; DD&#39;);

for($i=1;$i<=31;$i++)
{
    if(strlen($i)<2)
    {
        $i = 0 . $i;    
    }
    $d_opt[$i]=$i;
}

echo form_dropdown(&#39; date&#39;,$ d_opt);