2015-04-02 40 views
-1

我有一個HTML頁面三個輸入輸入文字,並且使他們6遍歷一次3個陣列和保存價值的數據庫

<input type="text" name="category[]"> 
<input type="text" name="quantity[]"> 
<input type="text" name="amount[]"> 

<button>Add more</button> 

一個按鈕,如果按下重複每個文本框(JavaScript)的哪再次生成相同的輸入:

<input type="text" name="category[]"> 
<input type="text" name="quantity[]"> 
<input type="text" name="amount[]"> 

在CakePHP的一段代碼我一直在努力:

$data = $this->request->data; 
foreach($data['category'] as $index => $value){ 
$this->ModelName->save($value); 
} 

嘗試將數量,類別和金額作爲列一次插入兩行。但它沒有插入,也沒有給出任何錯誤。

有沒有辦法實現這個目標? 謝謝。

回答

0

我不知道你的模型在CakePHP中是如何工作的,但你應該能夠得到這樣一個完整的數據分組:

foreach($data['category'] as $index => $value){ 
    $category = $value 
    $quantity = $data['quantity'][$index]; 
    $amount = $data['amount'][$index]; 

    // use the above 3 variables however you need to to persist the model 
    //$this->ModelName->save($value); 
} 

在一個側面說明,你可能要考慮重新安排你的HTML輸入到如:

<input type="text" name="item[0][category]"> 
<input type="text" name="item[0][quantity]"> 
<input type="text" name="item[0][amount]"> 

然後保持下一個索引,遞增的item數值索引對於每個附加組

這將允許你喜歡迭代:

foreach($data['item'] as $index => $group){ 
    //$group['category']; 
    //$group['quantity']; 
    //$group['amount']; 
}