Mình có đoạn code add sản phẩm vào SESSION thành công như sau:
Trong đó size là kích thước áo như (S, M, L, XL)
Giờ mình muốn sau khi vào giỏ hàng khách có thể thay đổi được size (kích thước quần áo), mình dùng đoạn jQuery sau:PHP Code:
<?php
$id = $_GET['id'];
$quanlity = $_GET['quanlity'];
$size = $_GET['size'];
if(!isset($_SESSION['cart'][$id][$size]) or $_SESSION['cart'][$id][$size] == "" or $_SESSION['cart'][$id][$size] == NULL)
$_SESSION['cart'][$id][$size] = $quanlity;
else $_SESSION['cart'][$id][$size] = $_SESSION['cart'][$id][$size] + $quanlity;
?>
File PHPPHP Code:
$(function() {
$(".changesize").change(function() {
var id = $(this).attr("rel");
var size = $("#product-size-tab"+id+" select").val();
var type = "POST";
var url = "change_size.php";
$.ajax({
type: type,
url: url,
data: {shopping_id : id, shopping_size : size}
})
.done(function(data) {
});
return false;
});
});
Và file change_size.php:PHP Code:
<select class="changesize" id="product-size-tab<?php echo $data['shopping_id']; ?>" name="shopping_size" rel="<?php echo $data['shopping_id']; ?>">
<option value="<?php echo $item; ?>">Không thay đổi</option>
<?php $sizes = explode(", ", $data['shopping_size']);
foreach ($sizes as $s) {
echo "<option value=\"".preg_replace('/\s+/', '', convert($s))."\">$s</option>";
}
?>
</select>
Không hiểu sai chổ nào mà không update được. Các bạn chỉ giúp với.PHP Code:
<?php
session_start();
if(isset($_POST['shopping_id'])){
$toBeUpdate = $_POST['shopping_id'];
$CartR = $_SESSION['cart'];
$size = $_POST['shopping_size'];
foreach($CartR as $key => $Cart){
if($Cart['id'] == $toBeUpdate){
$_SESSION['cart'][$key]['size'] = $size;
}
}
echo json_encode(array('success'=> true));
}
?>
Bookmarks