You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP购物车场景下如何将产品ID存储到数组中

如何将购物车中的产品ID存储到数组中

嘿,这事儿其实很简单,咱们直接在你现有的代码基础上修改就行,给你两种实用的实现方式:

方式一:单独创建产品ID数组

如果你只需要单独存储所有产品ID,可以专门声明一个数组,然后在循环里把每个产品ID塞进去:

$cart_id = $_GET['cart_id'];
$get_add = "SELECT * FROM cart WHERE cart_id = '$cart_id'";
$run_add = mysqli_query($con,$get_add);
$cart_items = [];
$total_price_to_pay = 0;
// 新增:初始化存储产品ID的数组
$product_ids = [];

while ($row_results = mysqli_fetch_array($run_add)){
    $item = array(
        'table_id' => $row_results['table_id'],
        'cart_id' => $row_results['cart_id'],
        'pro_id' => $row_results['product_id'],
        'pro_title' => $row_results['product_title'],
        'pro_price' => $row_results['product_price'] // 补全你原有的价格字段
    );
    $cart_items[] = $item;
    $total_price_to_pay += $item['pro_price'];
    
    // 把当前产品ID添加到数组里,两种写法都可以
    $product_ids[] = $row_results['product_id'];
    // 或者用array_push:array_push($product_ids, $row_results['product_id']);
}

// 之后你就能直接用$product_ids数组了,比如打印验证:
// print_r($product_ids);

方式二:从已有的购物车项数组中提取

如果你已经把所有购物车数据存在了$cart_items里,循环结束后可以用array_column函数快速提取所有产品ID,不用额外在循环里操作:

// 循环执行完后再提取
$product_ids = array_column($cart_items, 'pro_id');

重要小提醒

注意哦:你当前的SQL语句存在SQL注入风险,直接把$_GET['cart_id']拼进SQL里太不安全了。建议改用预处理语句,比如:

$cart_id = $_GET['cart_id'];
// 预处理语句写法
$stmt = mysqli_prepare($con, "SELECT * FROM cart WHERE cart_id = ?");
// 绑定参数:如果cart_id是整数用"i",字符串用"s"
mysqli_stmt_bind_param($stmt, "i", $cart_id); 
mysqli_stmt_execute($stmt);
$run_add = mysqli_stmt_get_result($stmt);

// 后续的循环逻辑和之前保持一致就行

这样能大大提升代码的安全性~

内容的提问来源于stack exchange,提问作者user9713482

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:17:06