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

时间:2015-08-23 15:14:14

标签: 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);
}

1 个答案:

答案 0 :(得分:0)

保护重复使用此代码

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

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