簡體   English   中英

多個產品未保存在 mysql 表中 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM