PHP

Xử lý giỏ hàng bằng Php.

Để lưu sản phẩm vào giỏ hàng, bạn không cần lưu trong database mà chỉ cần lưu session bằng hàm này:

function store($action=null, $id=null){
$cart = $_SESSION***91;'Cart'***93;;
switch ($action) {
case 'add':
if ($cart) {
$cart .= ','.$id;
} else {
$cart = $id;
}
break;
case 'delete':
if ($cart) {
$items = explode(',',$cart);
$newcart = '';
foreach ($items as $item) {
if ($id != $item) {
if ($newcart != '') {
$newcart .= ','.$item;
} else {
$newcart = $item;
}
}
}
$cart = $newcart;
}
break;
case 'update':
if ($cart) {
$newcart = '';
foreach ($_POST as $key=>$value) {
if (stristr($key,'qty')) {
$id = str_replace('qty','',$key);
$items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
$newcart = '';
foreach ($items as $item) {
if ($id != $item) {
if ($newcart != '') {
$newcart .= ','.$item;
} else {
$newcart = $item;
}
}
}
for ($i=1;$i<=$value;$i++) {
if ($newcart != '') {
$newcart .= ','.$id;
} else {
$newcart = $id;
}
}
}
}
}
$cart = $newcart;
break;
}

$_SESSION***91;'Cart'***93; = $cart;
}

Để thêm một sản phẩm vào giỏ hàng bạn gọi thế này:

PHP Code:
store('add', 1); // 1 là ID của sản phẩm

Lấy các sản phẩm trong giỏ hàng:

PHP Code:
function getContents() { $contents = array(); $cart = $_SESSION***91;'Cart'***93;; if($cart) { $items = explode(',',$cart); $contents = array(); foreach ($items as $item) { $contents***91;$item***93; = (isset($contents***91;$item***93;)) ? $contents***91;$item***93; + 1 : 1; } } return $contents; }

Duyệt các sản phẩm trong giỏ hàng như sau:

PHP Code:
$cart = getContents(); foreach ($cart as $product_id=>$qty) { // Lấy thông tin sản phẩm dựa vào product_id và hiển thị ra

Nguồn : http://www.ddth.com

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s