[英]Saving multiple checkbox data by foreach in MySQL using codeigniter
[英]multiple products not saving in mysql table in codeigniter
我有一個 codeigniter 購物車網站,用戶可以在購物車中添加多個產品然后結帳,當用戶在結帳時單擊確認按鈕時,用戶詳細信息和產品詳細信息應添加到數據庫中,我做了以下代碼:
public function checkout() { $data['items'] = array_values(unserialize($this->session->userdata('cart'))); $data['total'] = $this->total(); foreach ($data['items'] as $item){ $itemname=$item['name']; $productid=$item['id']; } if(isset($_POST['confirm'])) { $name=$this->input->post('name'); $phone=$this->input->post('phone'); $email=$this->input->post('email'); $address=$this->input->post('address'); $productname=$itemname; $total=$this->input->post('total'); $productid=$productid; $this->product->addorder($name,$phone,$email,$address,$productname,$total,$productid); } $this->load->view('checkout', $data); }
所有詳細信息都被添加到數據庫中,但有一個問題,如您在 foreach 循環中看到的 itemname 和 productid,即使購物車中有多個產品,也只有第一個產品名稱和 id 存儲在數據庫,我想將購物車中的所有商品名稱和 ID 保存到數據庫中,誰能告訴我這里有什么問題,在此先感謝
您的循環只創建一個數據,如果有多個數據,請將插入查詢放在循環代碼中,
嘗試這個
if(isset($_POST['confirm']))
{
foreach ($data['items'] as $item){
$itemname=$item['name'];
$productid=$item['id'];
$name=$this->input->post('name');
$phone=$this->input->post('phone');
$email=$this->input->post('email');
$address=$this->input->post('address');
$productname=$itemname;
$total=$this->input->post('total');
$productid=$productid;
$this->product->addorder($name,$phone,$email,$address,$productname,$total,$productid);
}
}
$itemname = array(); $productid = array(); foreach ($data['items'] as $item){ array_push($itemname, $item['name']); array_push($productid, $item['id']); } if(isset($_POST['confirm'])) { $productname = json_encode($itemname); $productid = json_encode($productid); $this->product->addorder($name,$phone,$email,$address,$productname,$total,$productid); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.