繁体   English   中英

Codeigniter更新购物车-如何foreach indise数组?

[英]Codeigniter Update cart - how to foreach indise array?

我在codeigniter更新购物车中遇到问题,这是我的查看购物车。

 <script> function update_cart(){ document.forms["updateCart"].submit(); } </script> <h1>DAFTAR PRODUCT</h1> <table style="width:100%" border="1"> <tr style="background-color: yellow;"> <td>Name</td> <td>Price</td> <td>Aksi</td> </tr> <?php foreach ($products as $data):?> <tr> <td><?php echo $data->name;?></td> <td><?php $hargapro = number_format("$data->price",0,",",".");echo "Rp.".$hargapro; ?></td> <td><a href="<?php echo base_url();?>cart/add?id=<?php echo $data->id;?>"><button type="button">Add to Cart</button></a></td> </tr> <?php endforeach ?> </table> <h1>DAFTAR KERANJANG SAMPAH</h1> <table style="width:100%" border="1"> <tr style="background-color: yellow;"> <td>ID</td> <td>name</td> <td>qty</td> <td>price</td> <td>total</td> <td>Aksi</td> </tr> <?php foreach ($items as $items):?> <tr> <td><?php echo $items['id'];?></td> <td><?php echo $items['name'];?></td> <td> <form name="updateCart" method="post" action="<?php echo base_url();?>cart/update" enctype="multipart/form-data"> <input type="text" name="qty" value="<?php echo $items['qty'];?>" maxlength="3" size="2" /> <input type="hidden" name="rowid" value="<?php echo $items['rowid'];?>" /> </form> </td> <td><?php $hargapro = number_format("$items[price]",0,",",".");echo "Rp.".$hargapro; ?></td> <td><?php $totalitem = $items['qty']; $price = $items['price']; $xprice = $totalitem*$price; $xtotal = number_format("$xprice",0,",","."); echo "Rp.".$xtotal; ?></td> <td> <form method="post" action="<?php echo base_url();?>cart/delete"> <input type="hidden" name="id" value="<?php echo $items['rowid'];?>"/> <button type="submit" value="<?php echo $items['rowid'];?>">Delete</button> </form> </td> </tr> <?php endforeach ?> </table> <h3><b>Total Item : <?php echo $totalpro; ?></b></h3> <h3><b>Total Harga : Rp. <?php $harga=number_format("$total",0,",",".");echo $harga; ?></b></h3> <br> <button type="button" onClick="update_cart();">Update Chart</button> <a href="<?php echo base_url();?>cart/destroy"><button type="button">Clear All</button></a> 

这是我的控制器更新购物车

// Update Product from Cart
function update(){
    $cart = $this->cart->contents();

    $data = array(
        (foreach ($cart as $c)){        
        array(
            'rowid' => $c['rowid'],
            'qty' => $this->input->post('qty'),
        ),
        };
    );

    echo "<pre>";
    print_r($data);
    //$this->cart->update($data);
    //redirect('cart/show');
}

我想问的是:1.如何更新购物车CodeIgniter中的所有物品? 2.或者如何像在更新函数中一样在“数组”中插入函数“ foreach”?

我会建议送价值rowidquantityform到更新的功能。

<form action="" method="POST">
  <input type="text" name="quantity" value="" />
  <input type = "hidden" name="rowid" value=""/>
  <!-- OTHER FORM FIELDS HERE -->
  <input type="submit" name="submit" value="UPDATE" />
</form>

并在您的控制器中。

public function update()
{
    $data=$this->cart->update(array(
        'rowid'=>$this->input->post('rowid'),
        'qty'=> $this->input->post('quantity');
    ));

    $this->cart->update($data);  

    //redirect here
}

更新资料

要一次更新所有行,可以使用多维数组。 它在明确定义userguide

$data = array(
               array(
                       'rowid'   => 'b99ccdf16028f015540f341130b6d8ec',
                       'qty'     => 3
                    ),
               array(
                       'rowid'   => 'xw82g9q3r495893iajdh473990rikw23',
                       'qty'     => 4
                    ),
               array(
                       'rowid'   => 'fh4kdkkkaoe30njgoe92rkdkkobec333',
                       'qty'     => 2
                    )
            );

$this->cart->update($data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM