我正在構建Codeigniter購物車。在購物車詳細信息頁面上,我有一個表單輸入字段,允許用戶鍵入產品所需的數量,並提交按鈕以將信息發佈到更新功能。PHP Codeigniter未定義偏移量錯誤
當購物車中只有一件商品時,更新數量時,所有的商品都應該如此。但是,當有多個項目時,更改項目的數量並單擊提交將導致模型中的以下代碼(特別是陣列中的兩行)出現「未定義偏移1:錯誤」:
function validate_update_cart()
{
$total = $this->cart->total_items();
$item = $this->input->post('rowid');
$qty = $this->input->post('qty');
for($i=0;$i < $total;$i++)
{
$data = array(
'rowid' => $item[$i],
'qty' => $qty[$i]
);
$this->cart->update($data);
}
}
這是它上面所引用的視圖代碼:
<form action="<?php echo base_url(); ?>home/update" method="post">
<div><input type="hidden" name="rowid[]" value="<?php echo $item['rowid']; ?>"/></div>
<div><input type="text" name="qty[]" value="<?php echo $item['qty']; ?>" maxlength="2" class="chg-qty"/></div>
<div><input type="submit" value="update" class="update-quantity"/></div>
</form>
這是控制器:
function update()
{
$this->products_model->validate_update_cart();
redirect('cart');
}
請任何人都可以解釋爲什麼發生這種情況?
非常感謝,
馬特
感謝RC,這是一篇有用的文章,雖然我沒有看到任何內容,但會提示您需要按照您的建議輸入兩個輸入內容。這樣做會導致更新數量的兩個輸入字段,這是我不想要的。 – Matt 2010-05-10 13:41:24
我已經更新了我的答案。 – 2010-05-10 14:58:57
哦,我明白你在說什麼 - 謝謝你回到我身邊。讓我試試這個......我會回報 – Matt 2010-05-11 12:43:06