[英]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”?
我会建议送价值rowid
和quantity
从form
到更新的功能。
<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.