Ir para conteúdo

POWERED BY:

Arquivado

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

Aureo Almeida

[Resolvido] Imprimir soma de SQL com php

Recommended Posts

Estou com o seguinte problema: estou desenvolvendo uma página no dreamweaver que lista 25 resultados de ma tabela de banco de dados e ao final da lista, deveria somar os resultados.

O SQl é o seguinte, e a princípio não tem problema como explicarei: "SELECT despesa.*, tbSoma.soma FROM despesa, (SELECT SUM(CX_VALOR) AS soma FROM despesa) AS tbSoma"

Eu gerei uma região repetida, que mostra dois campos: a descrição de uma despesa e o valor. Sem nenhum problema. Lista 25 itens de despesa. Também consigo inserir o valor total da soma dos campos, desde que não insira a estrutura de região repetida. Momentaneamente, na tabela de teste tenho 3 registros, e o SQL, desde que eu não insira a região repetida, consegue trazer a soma dos três itens corretamente. Quando eu insiro <?php echo $row_caixa['soma']; ?> ele faz isso certinho. O problema é que quando eu insiro a estrutura de repetição da região repetida, ele me traz um valor em branco. Ou seja, não soma.

Este é o código da região repetida:

<?php do { ?>
             <table width="100%" border="0" cellspacing="0" cellpadding="0">
               <tr>
                 <td width="66%"><?php echo $row_caixa['CX_DESTINATARIO']; ?></td>
                 <td width="34%"><?php echo $row_caixa['CX_VALOR']; ?></td>
               </tr>
             </table>
             <?php } while ($row_caixa = mysql_fetch_assoc($caixa)); ?>

 

Onde está o problema é que eu não descobri.

Se alguem puder me ajudar, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas coisas bobas, que podem estar acontecendo. Verifique aí se:

  • a sua SQL está atribuída à variável $caixa;
  • se você está buscando o valor dentro do while corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

santosbio

A variavel caixa está definida:

$caixa = mysql_query($query_limit_caixa, $caixa) or die(mysql_error());

 

quanto ao valor dentro do while, caso eu busque dentro ele repete a soma para cada item listado.Exemplo:

 

Despesa	Valor

CORSAN	34
124
RGE	40
124
Antonio CArlos	50
124
Total

O que eu busco é:

 

Despesa	Valor

CORSAN	34
RGE	40
Antonio CArlos	50

Total (aqui deveria estar o total, 124)

 

Para isso acredito que deveria imprimir a varável fora do while. Só que daí não aparece o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

santosbio

A variavel caixa está definida:

$caixa = mysql_query($query_limit_caixa, $caixa) or die(mysql_error());

 

 

$caixa = mysql_query($query_limit_caixa, $caixa) or die(mysql_error());

É possível isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php do { ?>
             <table width="100%" border="0" cellspacing="0" cellpadding="0">
               <tr>
                 <td width="66%"><?php echo $row_caixa['CX_DESTINATARIO']; ?></td>
                 <td width="34%"><?php echo $sum[ ] = $row_caixa['CX_VALOR']; ?></td>
               </tr>
             </table>
             <?php } while ($row_caixa = mysql_fetch_assoc($caixa)); ?>
      <?php printf( 'Total %s', array_sum( $sum ) ); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

santosbio

A variavel caixa está definida:

$caixa = mysql_query($query_limit_caixa, $caixa) or die(mysql_error());

 

 

$caixa = mysql_query($query_limit_caixa, $caixa) or die(mysql_error());

É possível isso?

 

Este é o codigo completo

$query_caixa = "SELECT despesa.*, tbSoma.soma FROM despesa, (SELECT SUM(CX_VALOR) AS soma FROM despesa) AS tbSoma";
$query_limit_caixa = sprintf("%s LIMIT %d, %d", $query_caixa, $startRow_caixa, $maxRows_caixa);
$caixa = mysql_query($query_limit_caixa, $caixa) or die(mysql_error());
$row_caixa = mysql_fetch_assoc($caixa);

 


<?php do { ?>
             <table width="100%" border="0" cellspacing="0" cellpadding="0">
               <tr>
                 <td width="66%"><?php echo $row_caixa['CX_DESTINATARIO']; ?></td>
                 <td width="34%"><?php echo $sum[ ] = $row_caixa['CX_VALOR']; ?></td>
               </tr>
             </table>
             <?php } while ($row_caixa = mysql_fetch_assoc($caixa)); ?>
      <?php printf( 'Total %s', array_sum( $sum ) ); ?>

 

Eu não entendi como fazer...

 <?php printf( 'Total %s', array_sum( $sum ) ); ?>

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.