for循环问题

时间:2011-08-12 13:23:34

标签: php codeigniter for-loop

function cartinsert() {
    $num = $this->input->post('numOflim');
    $numb = count($num);
    echo $num;
    for ($x =1; $x <= $numb; $x++) {
       $quanoutput = $this->input->post('quanoutput');
       $barcodeoutput = $this->input->post('barcodeoutput');
       $productsoutput = $this->input->post('productsoutput');
       $buyprice = $this->input->post('buyprice');
       $outward_date=$this->input->post('outward_date');
       $stock=$this->input->post('stock');
       $warehouse_id =$this->input->post('warehouse_id');
       $request_id =$this->input->post('request_id');
       $warehouse=$this->input->post('warehouse');
       $flag2 = $productsoutput;
       $undefined = 'undefined';
       if ($flag2 == $undefined) {
           $flag3 = $this->cartmodel->cartInsert($quanoutput,$barcodeoutput,$productsoutput);
       } else {
           $flag3 = $this->cartmodel->cartInsert( $barcodeoutput,$quanoutput,$buyprice,$stock,$warehouse,$warehouse_id,$request_id,$outward_date);
       }
    }
}

我只能得到第一行而其他行没有被显示

2 个答案:

答案 0 :(得分:3)

查看代码

$num = $this->input->post('numOflim');
$numb = count($num);
echo $num;
for ($x =1; $x <= $numb; $x++) {
你说$ number是10?好计数(10)= 1,所以循环是x = 1到&lt; = 1,它只发生一次!

答案 1 :(得分:1)

for循环中的元素没有索引。

代码点火器中的行$quanoutput = $this->input->post('quanoutput');仅用于获取元素$_POST['quanoutput']

您需要在输入中执行以下操作索引您的帖子:

<input name='quanoutput[1]' ... >
<input name='quanoutput[2]' ... >
<input name='quanoutput[{NUM}]' ... >

其中{NUM}是您可以像这样获取的索引:

for ($x = 1; $x <= $numb; $x++) {
    $quanoutput[] = $_POST['quanoutput'][$x];
}

PRO TIP:即使我从1开始编制索引,因为这就是你所做的,通常从0开始编制索引。


另外,正如mattumotu的回答所指出的那样,你的计数只返回1,所以你的循环也只会运行一次也是有意义的。