返回新闻列表

php简单Session购物车功能function函数

发布日期: 2024-03-14 | 来源: 智软设计工作室

<?php
// 启动会话
session_start();

// 初始化购物车
if (!isset($_SESSION['cart'])) {
    $_SESSION['cart'] = array();
}


// 判断产品是否已经在购物车中
function isProductInCart($product_id) {
    if (isset($_SESSION['cart'][$product_id])) {
        return true;
    }
    return false;
}


// 添加商品到购物车 产品 ID (product_id)、产品名称 (product_name)、产品图片 (product_image) 和数量 (quantity)

function addToCart($product_id, $product_name, $product_image, $quantity) {
    if (isProductInCart($product_id)) {
        // 产品已经在购物车中,更新数量
        $_SESSION['cart'][$product_id]['quantity'] += $quantity;
        echo "产品已经添加到购物车中,并且数量已更新。";
    } else {
        // 产品不在购物车中,添加新产品
        $_SESSION['cart'][$product_id] = array(
            'product_id' => $product_id,
            'product_name' => $product_name,
            'product_image' => $product_image,
            'quantity' => $quantity
        );
        echo "产品已成功添加到购物车中。";
    }
}

// 更新购物车中商品的数量
function updateQuantity($product_id, $quantity) {
    if (isset($_SESSION['cart'][$product_id])) {
        $_SESSION['cart'][$product_id]['quantity'] = $quantity;
    }
}

// 清空购物车
function clearCart() {
    $_SESSION['cart'] = array();
}

// 显示购物车中的商品列表
function displayCart() {
    if (!empty($_SESSION['cart'])) {
        foreach ($_SESSION['cart'] as $item) {
            echo "Product ID: " . $item['product_id'] . "<br>";
            echo "Product Name: " . $item['product_name'] . "<br>";
            echo "Product Image: " . $item['product_image'] . "<br>";
            echo "Quantity: " . $item['quantity'] . "<br>";
            echo "<br>";
        }
    } else {
        echo "购物车为空";
    }
}



// 测试添加商品到购物车
addToCart(1, "产品1", "image1.jpg", 2);
addToCart(2, "产品2", "image2.jpg", 1);

// 显示购物车中的商品列表
displayCart();

// 更新购物车中商品的数量
updateQuantity(1, 4);

// 再次显示购物车中的商品列表
displayCart();

// 清空购物车
clearCart();

// 显示清空购物车后的商品列表
displayCart();




//单独判单 是否存在
if (isset($_SESSION['cart'][1])) {
    $product = $_SESSION['cart'][1];
    // 现在 $product 变量中包含了产品 ID 为 1 的产品信息
    $product_id = $product['product_id'];
    $product_name = $product['product_name'];
    $product_image = $product['product_image'];
    $quantity = $product['quantity'];
    // 然后您可以使用这些变量进行其他处理或显示
} else {
    // 产品 ID 为 1 的产品不存在于购物车中
}



?>


推荐技术资料

pbootcms后台管理模板二次开发中如何使用{foreach}{if}{/if}{/foreach}语句

2023-07-10

pbootcms后台管理二次开发中如何使用{foreach}{if}{/if}{/foreach}语句,判断写入模板得数据,后台模板页面使用1.首先在相应的控制器里面获取数据assign到前端页面中例如$this->assign('NameData',$NameModel->getList());注意如果不是当前控制器对应的model,需要new一个新的model去查询数据。2.在htm

阅读更多

PbootCMSV3.2.5后台增加自定义字段搜索,可搜索标题和其他自定义字段

2024-05-24

我们在后台模型里面新增了自定义字段后,然后想要在后台搜索哪里。能搜索。需要处理下。首先打开。apps/admin/model/content/ContentModel.php主要更改二个函数// 查找指定分类及子类文章 public function findContent($mcode, $scode, $keyword)// 在全部栏目查找文章 public function findCont

阅读更多

Swiper轮播图视频加图片混合,完美解决方法,

2024-08-19

Swiper轮播图视频加图片混合,完美解决方法,还加入了图片浮动文字动画。下面是代码。测试是比较完美。视频播放玩了。在自动切换到下一个幻灯,<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8">

阅读更多

网站封装成小程序,转发 分享到朋友圈不能使用,

2023-04-04

今天想把公司官网,封装成小程序,但是发现封装完成后。发现没法转发和分享朋友圈,于是开始找解决方法,很快发现转发,只需要onShareAppMessage,但是分享朋友圈一直灰色,发现用onShareTimeline不管用,最后发现是,只要用了web-view组件就不能分享,index.js 里写入,Page({data:{&

阅读更多

百度编辑器UEditor开源富文本编辑,加载bootstrap格栅系统-百度编辑器UEditor加入其他css样式

2023-02-28

百度开源富文本编辑器UEditor,如何加入其他css样式了?我们比如要在编辑器里面排版响应式布局。比如bootstrap的格栅系统。等其他样式,我们这里就不能实时预览。这个功能网站制作的时候还是比较常用。网络上找了一圈,好像没有这个文章。我研究了下。其他百度编辑器已经预留css文件。添加样式。大家在、/ueditor/themes/if

阅读更多

jQuery去除data-slides 属性值逗号结尾问题,

2023-08-22

我们有的时候。调用一个多属性值的时候,会出现,号结尾。导致程序循环切割的时候。多一个空值,比如1,2,3, 这样就应该去除掉最后,html<div class="work “ data-slides="1,2,3,">下面是js方法可以解决 // 获取所有包含 data-slides 属性的元素,去除最后得,号va

阅读更多

pbootcms 左侧产品栏目 高亮判断方法

2021-12-02

主要是这段代码。官方演示的不行{pboot:if('[nav:scode]'=='{sort:scode}')}left_active{/pboot:if} {pboot:nav num=6 parent=2} <li><a class="biglink {pboot:if('[nav:scode]'=='{sort:scode}'

阅读更多

取消pbootcms首页加入了?参数后 301重定向问题!解决谷歌google ads广告不符合条件问题

2024-03-22

if($matches1[0]){if($_SERVER['REQUEST_URI']==$matches1[0]){$this->getIndexPage();&nbs

阅读更多

PbootCMS后台增加自定义字段搜索解决办法

2024-12-11

主要修改 // 查找指定分类及子类文章 public function findContent($mcode, $scode, $keyword)和// 在全部栏目查找文章 public function findContentAll($mcode, $keyword) {怎么修改我截图下来了。先把扩展表字段都加入进去,然后在加入left,然后在加入要搜索的字段就可以了

阅读更多