Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, tudo bem?
Estou com um problema em uma soma que estou fazendo em uma consulta no MySQL.
Estou usando While para pegar todas mercadorias cadastradas e seu valor, depois ele busca no estoque a quantidade, e multiplica então a quantidade pelo valor de cada mercadoria.
<?php
$select_all_mercadorias = mysqli_query($conn, "SELECT * FROM gr_mercadorias");
while ($merca = mysqli_fetch_array($select_all_mercadorias)) {
$id_mercadoria = $merca['id'];
$valor_cada_mercadoria = $merca['valor'];
$somar_quantidades_mercadorias = mysqli_query($conn, "SELECT SUM(p) + SUM(m) + SUM(g) + SUM(gg) + SUM(`36`) + SUM(`38`) + SUM(`40`) + SUM(`42`) + SUM(`44`) + SUM(`46`) + SUM(`48`) + SUM(tamanho_unico) as qtd_mer FROM gr_estoque WHERE mercadoria_id = '$id_mercadoria'");
$qtd_merca = mysqli_fetch_array($somar_quantidades_mercadorias);
$valor_mercadoria_estoque = $valor_mercadoria_estoque + $qtd_merca['qtd_mer'] * $valor_cada_mercadoria;
}
?>
<?php echo "R$ ".number_format($valor_mercadoria_estoque, 2, '.', ','); ?>
Até ai tudo certo, ele mostra o valor exato fora do While. O problema é que esse While já está dentro de outro While onde pega meses do ano. E ele está multiplicando por 2 o valor total a cada While.
O que posso usar para ele mostrar o total apenas uma vez e não multiplicar novamente?
Obrigado!
Carregando comentários...