我不知道该怎么做,在用户将特定产品添加到购物车后,我想更改添加到购物车按钮,我的购物车在会话中工作
<?php require'admin/dist/db.php';
$sql = " SELECT * FROM products";
$res = $conn->query($sql);
if ($res->num_rows > 0) {
while ($row = $res->fetch_assoc()) {
$id=$row['id'];
$_SESSION['product_id']=$id;?>
<div class="cards ">
<div class="wrapper">
<div class="colorProd"></div>
<div class="imgProd" style="background-image: url(img/product/<?echo $row['img_path'];?>);"></div>
<div class="infoProd">
<p class="nombreProd"><?echo $row['product_name'];?></p>
<p class="extraInfo"></p>
<div class="actions">
<div class="preciosGrupo">
<p class="precio precioOferta">9,999</p>
<p class="precio precioProd"><?echo $row['product_price'];?>
</p>
</div>
<div class="icono action aFavs" title="Add TO Wishlist">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<path d="M47 5c-6.5 0-12.9 4.2-15 10-2.1-5.8-8.5-10-15-10A15 15 0 0 0 2 20c0 13 11 26 30 39 19-13 30-26 30-39A15 15 0 0 0 47 5z">
</path>
</svg>
</div>
<form action="" method="post">
<label >
<button class=" pointer addtocart " id="<? echo $row['id'];?>" type="submit" >
</button>
<div class="icono action alCarrito">
<!-- alCarrito -->
<svg class="inCart" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<title>Added To Cart !</title>
<path d="M30 22H12M2 6h6l10 40h32l3.2-9.7"></path>
<circle cx="20" cy="54" r="4"></circle>
<circle cx="46" cy="54" r="4"></circle>
<circle cx="46" cy="22" r="16"></circle>
<path d="M53 18l-8 9-5-5"></path>
</svg>
<svg class="outCart" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<title>Add To Cart</title>
<path d="M2 6h10l10 40h32l8-24H16"></path>
<circle cx="23" cy="54" r="4"></circle>
<circle cx="49" cy="54" r="4"></circle>
</svg>
</div>
</label>
<input type="hidden" name="id" value="<?echo $row['id'];?>">
<input type="hidden" name="name" value="<?echo $row['product_name'];?>">
<input type="hidden" name="price" value="<?echo $row['product_price'];?>">
</form>
</div>
</div>
</div>
</div>
<? }}?>
</div>
<?if(isset($_POST['id']))
{$name = $_POST['name'];
$price = $_POST['price'];
$id = $_POST['id'];
$cart = array('id' => $id,'name' => $name,'price' => $price);
$_SESSION['cart'][$id]= $cart;
}?>
我想要做的只是告诉 php 已经添加的产品的购物车按钮更改 了我数据库中的这 3 张卡片输出,在用户将产品添加到购物车后,我想显示添加到购物车的按钮,就像这样看到购物车 svg 我将产品添加到购物车后,wana 像这样更改它
我有这个类用于 css enCarrito如果我添加这个类 <div class="cards enCarrito">
然后购物车 svg 改变了,就像我在第二张图片中上传的一样
谢谢 !
这个答案基于很多猜想,并假设您在购物车中添加了一些东西后页面会重新加载。
我假设您将在会话中存储您的购物车,如:$_SESSION['cart'][] = $_POST['id']
。
现在,在(重新)构建页面时,您可以使用该in_array
函数来确定当前正在构建的项目是否已经在购物车中。
while ($row = $res->fetch_assoc()) {
$id=$row['id'];
$inCart = (in_array($id, $_SESSION['cart']) ? 'enCarrito' : '';
?>
<div class="cards <?= $inCart ?>">
假设您希望使用 JQuery 执行此操作,您应该为您的 div 提供一个正确的 id <div id='product_<?= $id ?>'>
,然后添加该类,$('#product' + ID).addClass('enCarrito');
如https://api.jquery.com/addClass/ 中所述
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句