Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julio Andolfo

Erro com Soma em While ( Multiplicando )

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.