对不起。我使用Codeigniter制作购物车,这里是问题的详细信息。
控制器
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Shopping extends CI_Controller {
public function __construct()
{
parent::__construct();
//load model
$this->load->model('billing_model');
$this->load->library(array('cart', 'form_validation'));
}
public function index()
{
$this->load->view('header');
//Get all data from database
$data['products'] = $this->billing_model->get_all();
//send all product data to "shopping_view", which fetch from database.
$this->load->view('shopping/shopping_view', $data);
$this->load->view('footer');
}
public function add()
{
// Set array for send data.
$insert_data = array(
'id' => $this->input->post('id'),
'name' => $this->input->post('name'),
'price' => $this->input->post('price'),
'qty' => 1
);
// This function add items into cart.
$this->cart->insert($insert_data);
// This will show insert data in cart.
$this->load->view('header');
$this->load->view('shopping/cart');
$this->load->view('footer');
}
public function remove($rowid)
{
// Check rowid value.
if ($rowid==="all"){
// Destroy data which store in session.
$this->cart->destroy();
}else{
// Destroy selected rowid in session.
$data = array(
'rowid' => $rowid,
'qty' => 0
);
// Update cart data, after cancle.
$this->cart->update($data);
}
// This will show cancle data in cart.
redirect('shopping/add');
}
public function update_cart()
{
// Recieve post values,calcute them and update
$cart_info = $_POST['cart'] ;
foreach( $cart_info as $id => $cart)
{
$rowid = $cart['rowid'];
$price = $cart['price'];
$amount = $price * $cart['qty'];
$qty = $cart['qty'];
$data = array(
'rowid' => $rowid,
'price' => $price,
'amount' => $amount,
'qty' => $qty
);
$this->cart->update($data);
}
redirect('shopping/add');
}
shopping / cart.php视图中的一些代码
<div id="cart" >
<div id = "heading">
<h2 align="center">Products on Your Shopping Cart</h2>
</div>
<div id="text">
<?php $cart_check = $this->cart->contents();
// If cart is empty, this will show below message.
if(empty($cart_check)) {
echo 'To add products to your shopping cart click on "Add to Cart" Button';
} ?> </div>
<table id="table" border="0" cellpadding="5px" cellspacing="1px">
<?php
// All values of cart store in "$cart".
if ($cart = $this->cart->contents()): ?>
<tr id= "main_heading"> <!--เขียนแบบนี้ก็ได้เหมือนecho ต่อจากifนั่นเอง-->
<td>Product ID</td>
<td>Name</td>
<td>Price</td>
<td>Qty</td>
<td>Amount</td>
<td>Cancel Product</td>
</tr>
<?php
// Create form and send all values in "shopping/update_cart" function.
echo form_open('shopping/update_cart');
$grand_total = 0;
$i = 1;
foreach ($cart as $item):
// echo form_hidden('cart[' . $item['id'] . '][id]', $item['id']);
// Will produce the following output.
// <input type="hidden" name="cart[1][id]" value="1" />
echo form_hidden('cart[' . $item['id'] . '][id]', $item['id']);
echo form_hidden('cart[' . $item['id'] . '][rowid]', $item['rowid']);
echo form_hidden('cart[' . $item['id'] . '][name]', $item['name']);
echo form_hidden('cart[' . $item['id'] . '][price]', $item['price']);
echo form_hidden('cart[' . $item['id'] . '][qty]', $item['qty']);
?>
<tr>
<td>
<?php echo $i++; ?>
</td>
<td>
<?php echo $item['name']; ?>
</td>
<td>
$ <?php echo number_format($item['price'], 2); ?>
</td>
<td>
<!--
$data = array(
'maxlength' => '3',
'size' => '1',
'type' => 'number',
'style' => 'text-align:right'
); -->
<?php echo form_input('cart[' . $item['id'] . '][qty]', $item['qty'], "maxlength='3' size='1' style='text-align: right'"); ?>
</td>
shopping_view.php中的一些代码
<?php foreach ($products as $product) { ?>
<form action="shopping/add" method="post" target="hiddenFrame">
<?php
echo form_hidden('id', $product['product_id']);
echo form_hidden('name', $product['name']);
echo form_hidden('price', $product['price']);
echo form_submit($btn); ?>
答案 0 :(得分:1)
他正在使用codeigniter图书馆购物车。请参阅购物车库的文档 - http://www.codeigniter.com/user_guide/libraries/cart.html
将产品添加到控制器中的购物车库..
$this->cart->insert($data);
然后使用
从视图中获取添加的产品$this->cart->contents();
您也可以使用相同的方法为您的页脚获取产品