我需要帮助来解决这个问题。
我有一个输入,用于指定用户要订购的产品数量。当按下“添加到购物车”按钮时,买方购物篮还必须显示该产品的订购数量。到目前为止,我只能显示图像,产品名称和价格(它们已保存在数据库中并由我接管),但我什至无法显示它们的数量(未保存在数据库中)想要命令。
我使用用户会话将产品存储在购物车中。 谢谢!
这是我的代码。
<div class="col-md-6">
<div class="summary entry-summary">
<h1 class="shorter"><strong><?php echo $item_rs['product_name']; ?></strong></h1>
<p class="price">
<span class="amount"><?php echo $item_rs['product_price'] . ' $'; ?></span>
</p>
<p class="taller"><?php echo $item_rs['product_description']; ?> </p>
<form enctype="multipart/form-data" method="post" class="cart">
<div class="quantity">
<input type="button" class="minus" value="-">
<input type="text" class="input-text qty text" title="Qty" value="1" name="quantity" min="1" step="1">
<input type="button" class="plus" value="+">
</div>
<button type="button" class="btn btn-primary btn-icon add-cart" data-id="<?php echo $item_rs['id_prod']; ?>">Add to cart</button>
</form>
</div> </div>
这是运送车中的代码:
<tbody>
<?php
if(isset($arrayIds)) {
foreach($arrayIds as $value) {
$cart_sql = 'SELECT * FROM produs WHERE id_prod=' . $value;
if($cart_query = mysqli_query($dbconnect, $cart_sql)) {
$cart_rs = mysqli_fetch_assoc($cart_query);
}
?>
<tr>
<td class="product-thumbnail">
<img width="80" height="80" alt=""
class="img-responsive"
src="img/products/<?php echo $cart_rs['img_name']; ?>">
</td>
<td class="product-name">
<?php echo $cart_rs['product_description']; ?><span
class="amount"></span><br>
<?php echo $cart_rs['product_price'].' $'; ?>
</td>
<td class="product-quantity">
</td>
<td class="product-actions">
<a title="Delete product" data-id="<?php echo $cart_rs['id_prod']; ?>" class="remove" href="#">
<i class="fa fa-times"></i>
</a>
</td>
</tr>
<?php
}
}
?>
</tbody>
使用jQuery对用户会话进行撒播:
<script>
$(document).ready(function(){
$(document).on('click', '.add-cart',function(e){
e.preventDefault();
var data_id = $(this).attr('data-id');
$.post('set_storage.php', {id: data_id});
location.reload();
});
});
</script>
这是文件“ set_storage.php”:
<?php
session_start();
$arrayIds = $_SESSION["id"];
if ($arrayIds) {
$_SESSION["id"] = $arrayIds . ", " . $_POST['id'];
} else {
$_SESSION["id"] = $_POST['id'];
}
?>
答案 0 :(得分:0)
如果您以这种方式存储ID,它可能会起作用:
<?php
session_start();
if(!isset($_SESSION['productsInCart'])) {
$_SESSION['productsInCart'] = array();
}
$productIdToAdd = $_POST['id'];
if(isset($_SESSION['productsInCart'][$productIdToAdd]) === false) {
$_SESSION['productsInCart'][$productIdToAdd] = 0;
}
$_SESSION['productsInCart'][$productIdToAdd]++;
?>
现在,数组$_SESSION['productsInCart']
将购物车中每个产品的ID保留为键,将每个产品的项目数保留为值