Luizboms 0 Denunciar post Postado Janeiro 22, 2010 Amigos, boa tarde. Sou novo no site, tentei pesquisar em posts antigos e não achei nada sobre este assunto. Tenho uma tabela com cliente, data e valor. Preciso fazer a seguinte operação: Somar o valor da linha anterior com o da linha atual, totalizando na linha atual, vou mostrar isto numa tabela. Tenho apanhado para fazer isto há um mês... se puderem me ajudar será uma mão na roda!!! Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Miranda 0 Denunciar post Postado Janeiro 22, 2010 Se vocÊ quer somar os 2 valores de um select vou mostrar duas maneiras. Por query: //exemplo somando campo valor_nf $sql="select sum (valor_nf) as valor from tb_nota_fiscal"; Pelo php. $sql="select valor_nf from tb_nota_fiscal"; $executa=mysql_query($sql); $soma=0; while($resultado=mysql_fetch_assoc($executa)){ $soma+=$resultado['valor_nf']; } echo $soma; Espero que ajude. Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Andrietta 1 Denunciar post Postado Janeiro 22, 2010 Você está querendo fazer uma soma simples, ou acumulativa ? Soma acumulativa: Linha: Valor | Soma acumulada linha1: 3 | 3 linha2: 5 | 8 linha3: 4 | 12 Se for soma simples, do modo que o Mário citou acima funcionará. Se quiser fazer acumulativa, sugiro fazer pelo código, porque se quiser fazer no SQL terá que utilizar cursor em uma Stored Procedure... é um pouco mais complicado. Para fazer via código: $sql="select valor_nf from tb_nota_fiscal"; $executa=mysql_query($sql); $soma=0; $i = 0; while($resultado=mysql_fetch_assoc($executa)){ //Se for a primeira linha, o acumulado é o proprio valor da NF $acumulado = ($i == 0) ? $resultado['valor_nf']; $acumulado+$resultado['valor_nf']; //na proxima varredura do loop, $acumulado ficara //com o valor da NF da linha anterior $acumulado = $resultado['valor_nf']; //Faz a soma total $soma+=$resultado['valor_nf']; echo "<tr>"; echo "<td>"; echo "Linha: " . $i; echo "</td>"; echo "<td>"; echo $soma; echo "</td>"; echo "<td>"; echo $acumulado; echo "</td>"; echo "</tr>"; $i++; } Compartilhar este post Link para o post Compartilhar em outros sites