php - 在订单数组中查找重复值并替换

标签 php mysql arrays

到处寻找,都无法解决我的疑惑。

我创建了一个订单系统,这段代码是拯救所有订单的地方。事实证明,如果在不同时间对同一项目发出请求,则会在列表中显示两个单独的项目。我喜欢在同一产品的数组订单内搜索,然后添加数量,仅在添加的数量列表中显示一个产品。有人请帮帮我吗?

while ($row = mysqli_fetch_array($query)) {
    // temp user array
    $pedidos = array();
    $pedidos["cid"] = $row["id"];
    $pedidos["pid"] = $row["pid"];
    $pedidos["qtd"] = $row["qtd"];
    $name = mysqli_fetch_assoc(mysqli_query($conecta,"SELECT name FROM produtos WHERE id = '".$pedidos["pid"]."'"));
    $pedidos["name"] = $name["name"];
    $cob = $row["cob"];
    $dobro = $row["dobro"];

    $price = mysqli_fetch_assoc(mysqli_query($conecta,"SELECT valor FROM produtos WHERE id = '".$pedidos["pid"]."'"));
    $pedidos["price"] = $price["valor"];

    if($cob != "false"){
        $cobprice = mysqli_fetch_assoc(mysqli_query($conecta,"SELECT valor FROM produtos WHERE name = 'cob'"));
        if($dobro){
            $cobprice["valor"] *= 2;
        }
        $pedidos["price"] += $cobprice["valor"];
        $pedidos["price"] = (string)$pedidos["price"];
        $pedidos["name"] = $pedidos["name"]." + Cobertura";
    }
    array_push($response["conta"], $pedidos);
}

最佳答案

保护重复使用此代码

$name = mysqli_fetch_assoc(mysqli_query($conecta,"SELECT DISTINCT name FROM produtos WHERE id = '".$pedidos["pid"]."'"));

sql DISTINCT 阅读有关此的教程可能会对您有所帮助。

关于php - 在订单数组中查找重复值并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32168190/

相关文章:

javascript - PHP Ajax jQuery跨域文件加载

php - 将链接连接到 2 个 php 页面

php - 如何上传图片并存入数据库

mysql - AWS RDS 手动快照是否增量存储?

php - 总是无效的用户名有/没有坏词

php - Cloudfront - 通过 CDN 传播文件?

MySQL 到 postgreSQL 迁移

javascript 根据属性值从数组中删除所有对象

arrays - 在go中解码嵌套的json对象

c - 对 stricmp 的 undefined reference