novo problema: agora preciso mostrar a soma dos
Olá !
Bem, eu estou com um novo problema... quando os produtos forem repetidos preciso inserir um sub-total abaixo deles.
Este é outro relatório, o primeiro já está finalizado.
O meu código está com erro porque não estou conseguindo fazer um loop interno quando os produtos são iguais.
Ele considera 2 e mostra o sub-total, aí no terceiro ele mostra o sub-total de novo. Além disso, não está fazendo a soma.
Desculpe por um tópico tão grande, mas acho que é melhor maneira de explicar o problema e acho que pra vocês é coisa simples...
>
<?php
//aqui vem o SELECT, que acho que não muda em nada...
$somaqt =0; // para a soma dos itens iguais
while($ret5 = mysql_fetch_array($res5)){
if ($cdpr != $ret5['Ite_Sequencia']){ //verifica se o produto não é igual ao anterior
$cdpr = $ret5['Ite_Sequencia']; // esse é o código do produto
$prd = $ret5['Pro_Descricao']; nome do produto
$qt = (int)$ret5['Ite_Qtde']; //qtde que já foi pedida
// exibe abaixo a descrição do produto
?>
<tr>
<td><?php echo $prd.'-'.$cdpr;?></td>
<td><?php echo $qt;?></td>
</tr>
<?
} else { // vê se o produto é igual (para inserir o subtotal depois)
$somaqt = $somaqt + $ret5['Ite_Qtde']; //soma a qtde deste com a do anterior
$cdpr = $ret5['Ite_Sequencia']; // esse é o código do produto
$prd = $ret5['Pro_Descricao']; nome do produto
$qt = (int)$ret5['Ite_Qtde']; //qtde que já foi pedida
if ($cdpr == $ret5['Ite_Sequencia']){ // acho que esse if tá a mais, foi só uma tentativa de fazer um loop interno ao while
//ou seja, enquanto o produto for igual ele mostra só a descrição normal e quando terminar passa para a exibição do subtotal, mas não deu certo
?>
<tr>
<td><?php echo $prd.'-'.$cdpr;?></td>
<td><?php echo $qt;?></td>
</tr>
<? } //fecha o if interno
//exibe a soma da qtde dos produtos iguais deste pedido (subtotal)
?>
<tr>
<td>Sub-total:</td>
<td><?php echo $somaqt;?></td>
</tr>
<? } //fecha o if/else
} // fecha while
?>
O resultado está assim:
>
VOIL-460 | 100 //inicia a relação de produtos
CETIM-459 | 160
CETIM-459 | 100
Sub-total do Produto: 100 // não somou, e era pra aparecer só depois dos 3 itens iguais
CETIM-459 | 100
Sub-total do Produto: 200 //somou errado (não somou o 1º item, só o 2º e o 3º)
SEDA-574 | 100 //continua listando os outros produtos
Agradeço muito se puderem me ajudar.
Abraços,
Dammy
Discussão (10)
Carregando comentários...