Kết quả 1 đến 7 của 7
  1. #1
    CI New zzfortezz's Avatar
    Ngày tham gia
    10-08-2013
    Bài viết
    14
    Cảm ơn
    1
    Được cảm ơn 0 trong 0 bài viết

    [Help]update giỏ hàng Codeigniter

    file view
    PHP Code:
    <form action="update" method="post" enctype="multipart/form-data">    
    foreach(
    $this->cart->contents() as $row)    
    {        
       echo
    '  <tr class="info">    
              <td>'
    .$row["id"].'</td>
             <td>'
    .$row["name"].'</td>
             <td>$row[""]</td>
              <td><input type="text" value="'
    .$row["qty"].'" size="5" class="qty" name="qty">
                <input type="hidden" value="'
    .$row["rowid"].'" name="rowid"></td>
               <td>'
    .$row["subtotal"].'</td>
               </tr>'
    ;    
    }
    </
    form
    file controller của mình
    PHP Code:
    function update() {
    $sl=$this->input->post('qty'); 
     
    $idrow $this->input->post('rowid');
    $data = array('rowid' => $idrow'qty' => $sl );
    $this->cart->update($data);


    khi truyền biến về để thực hiện update thì chỉ truyền đc biến cuối cùng (sản phẩm mua sau cung)
    nó ko chuyển được tất cả các sản phẩm đã mua hoăc 1 trong các sản phẩm trước đó ai biết làm sao để truyền biến ko về update ko
    Name:  Capture.PNG
Views: 122
Size:  11.3 KB
    Sửa lần cuối bởi zzfortezz; 26-08-2013 lúc 12:43 AM.

  2. #2
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    Bạn truyền sai địa chỉ trong action nên code không thể thực hiện được.
    Bạn sửa lại như sau xem sao nha:

    HTML Code:
    <form action="<php echo base_url('index.php/tên_controller/tên_phương_thức'); ?>" method="post" enctype="multipart/form-data">    
    Sửa lần cuối bởi PhanNguyenChuong; 26-08-2013 lúc 11:26 AM.

  3. #3
    CI New zzfortezz's Avatar
    Ngày tham gia
    10-08-2013
    Bài viết
    14
    Cảm ơn
    1
    Được cảm ơn 0 trong 0 bài viết
    mình truyền đc sản phẩm cuối cùng(cập nhật được) chứng tỏ phương thức mình ko sai

  4. #4
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    1/ Vòng lặp foreach của bạn sẽ tạo các input cho mỗi sản phẩm đều với name là qty và rowid nên khi bạn submit và nhận ở function update() nó chỉ lấy được cái input với name là qty và rowid cuối cùng.
    2/ Giải pháp:
    PHP Code:
    <?php
    $stt 
    0;
    foreach(){
      
    $stt++;
      ..
    echo 
    "<td>
                  <input type='text' value='
    $row[qty]' size='5' class='qty' name='qty$stt' />
                  <input type='hidden' value='
    $row[rowid]' name='rowid$stt' />
            </td>
      ..
    "
    ;
    }
    echo 
    "<input  type='hidden' value='$stt' name='stt' />";
    ?>
    ở controller bạn lấy được số stt và dùng vòng lặp for($i = 1; $i <= $this->input->post('stt'); $i++ ) để tạo mảng theo kiểu :
    PHP Code:
    $data = array(
                   array(
                           
    'rowid'   => 'b99ccdf16028f015540f341130b6d8ec',
                           
    'qty'     => 3
                        
    ),
                   array(
                           
    'rowid'   => 'xw82g9q3r495893iajdh473990rikw23',
                           
    'qty'     => 4
                        
    ),
                   array(
                           
    'rowid'   => 'fh4kdkkkaoe30njgoe92rkdkkobec333',
                           
    'qty'     => 2
                        
    )
                ); 
    Sau đó tiến hành cập nhật mảng $data.
    Sửa lần cuối bởi PhanNguyenChuong; 26-08-2013 lúc 08:18 PM.

  5. #5
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    @zzfortezz : Bạn đã làm được chưa ..

  6. #6
    CI New zzfortezz's Avatar
    Ngày tham gia
    10-08-2013
    Bài viết
    14
    Cảm ơn
    1
    Được cảm ơn 0 trong 0 bài viết
    vẫn chưa làm được
    mình hiểu ý của bạn @PhanNguyenChuong nhưng ko biết viết cái mảng data như thế nào

  7. #7
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    Trích dẫn Gửi bởi zzfortezz Xem bài viết
    vẫn chưa làm được
    mình hiểu ý của bạn @PhanNguyenChuong nhưng ko biết viết cái mảng data như thế nào
    Tạo mảng $data:
    PHP Code:
    $stt $this->input->post('stt');
    $data = array();
    for(
    $i 1$i <= $stt$i++){
      
    $data[] = array(
                      
    "rowid" => $this->input->post("rowid$i"),
                      
    "qty" => $this->input->post("qty$i"), 
                );


Chia sẽ và Bình Luận chủ đề [Help]update giỏ hàng Codeigniter trên facebook

Các Chủ đề tương tự

  1. thống báo update diễn đàn (14/05/2013)
    Bởi administrator trong diễn đàn Thông báo
    Trả lời: 4
    Bài cuối: 15-05-2013, 04:29 AM
  2. You must use the SET method to update an entry
    Bởi tinhphaistc trong diễn đàn Hỏi đáp
    Trả lời: 0
    Bài cuối: 18-03-2013, 09:52 AM

Các từ khóa xuất hiện trên google của chủ đề

update gio hang codeigniter

Tag của Chủ đề này - Hãy Thêm Tags Để bài viết nhanh lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •