Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Vargas

Como somar valores (decimal - 10,2) de uma consulta

Recommended Posts

Olá a todos,

 

Minha tabela está assim:

 

CREATE TABLE IF NOT EXISTS `carrinho` (
 `id` int(100) NOT NULL AUTO_INCREMENT,
 `cod` varchar(100) NOT NULL,
 `valor` decimal(10,2) NOT NULL,
 `sessao` varchar(100) NOT NULL,
 `quant` int(10) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

 

id único, código do produto, valor do produto 129.90, sessaodocliente e quantidade.

 

 

Minha query é a seguinte:

"SELECT * FROM carrinho WHERE sessao = '$sessao' ORDER BY id ASC"

 

 

E o que eu gostaria é fazer o seguinte:

Pegar o valor do produto multiplicado por sua quantidade e somar o resultado de todos para colocar no carrinho: "Total do carrinho é 1263.20"

 

Mas não sei como digo isso pro php/mysql

 

Alguém me da uma luz?

 

(obs.: Não estou muito ligado em orientado a objetos então precisaria de algo do modo antigo rsrs)

 

Abraço!

 

Abaixo a minha página inteira pra ter noção de como fiz:

<?php include "conn.php"; ?>
<?php 
session_start();
// Obtendo a id da sessão
$sessao = session_id();

//Procuro os registros do carrinho com essa sessao
$pesquisa_carrinho = mysql_query ("SELECT * FROM carrinho WHERE sessao = '$sessao' ORDER BY id ASC");

if(mysql_num_rows($pesquisa_carrinho) < 1) {
echo" Nenhum produto.";
}
else{
echo"
<form enctype='multipart/form-data' method='post' action='atualiza.php' name='formularioimagemmulti' id='formularioimagemmulti'>
<table width='600' border='1'>
 <tr>
   <td>Produto:</td>
   <td>Quantidade:</td>
   <td>Preço Unitário:</td>
   <td>Preço Total:</td>
   <td>Excluir</td>
 </tr>
";

while ($mostrar = mysql_fetch_assoc($pesquisa_carrinho)){
$codigo_produto = $mostrar['cod'];
$qtd_produto = $mostrar['quant'];

//Faço uma nova pesquisa para pegar os dados do produto um por um//
$pesquisa_inf_produto = mysql_query ("SELECT * FROM produtos WHERE id = '$codigo_produto' ORDER BY id DESC");
while ($informar = mysql_fetch_assoc($pesquisa_inf_produto)){
$id = $informar['id'];
$nome = $informar['nome'];
$valor_produto_bruto = $informar['valor'];
$valor_multiplicado = $valor_produto_bruto * $qtd_produto;
$valor_produto_bruto = ' R$ ' . number_format($valor_produto_bruto, 2, ',', '.');
$valor_multiplicado = ' R$ ' . number_format($valor_multiplicado, 2, ',', '.');

echo"
 <tr>
   <td>$nome</td>
   <td><input type='text' name='quantidade[$codigo_produto]' value='$qtd_produto' style='width:30px;'></td>
   <td>$valor_produto_bruto</td>
   <td>$valor_multiplicado</td>
   <td><a href='excluir_produto.php?id_produto=$codigo_produto&id_sessao=$sessao'>Excluir</a></td>
 </tr>
";
}

}

echo"
</table><br />
<input type='submit' name='submit_files' value='Atualizar'/>
</form>
";
}//fechando while se tiver produtos ou nao.
?>
<a href='produtos.php'>Continuar comprando</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não li o código de sua página, talvez tenha sido meu erro. Mas uma vez eu fiz assim para resolver um problema semelhante.

 

$total_compra = 0;
while ($informar = mysql_fetch_assoc($pesquisa_inf_produto)){
$id = $informar['id'];
$nome = $informar['nome'];
$valor_produto_bruto = $informar['valor'];
$valor_multiplicado = $valor_produto_bruto * $qtd_produto;

$total_compra = $valor_multiplicado + $total_compra;

$valor_produto_bruto = ' R$ ' . number_format($valor_produto_bruto, 2, ',', '.');
$valor_multiplicado = ' R$ ' . number_format($valor_multiplicado, 2, ',', '.');
$total_compra = ' R$ ' . number_format($total_compra, 2, ',', '.');

 

Criei a variavel $total_compra que informará o valor total que foi comprado. Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não li o código de sua página, talvez tenha sido meu erro. Mas uma vez eu fiz assim para resolver um problema semelhante.

 

$total_compra = 0;
while ($informar = mysql_fetch_assoc($pesquisa_inf_produto)){
$id = $informar['id'];
$nome = $informar['nome'];
$valor_produto_bruto = $informar['valor'];
$valor_multiplicado = $valor_produto_bruto * $qtd_produto;

$total_compra = $valor_multiplicado + $total_compra;

$valor_produto_bruto = ' R$ ' . number_format($valor_produto_bruto, 2, ',', '.');
$valor_multiplicado = ' R$ ' . number_format($valor_multiplicado, 2, ',', '.');
$total_compra = ' R$ ' . number_format($total_compra, 2, ',', '.');

 

Criei a variavel $total_compra que informará o valor total que foi comprado. Espero ter ajudado.

 

Olá Luckas, não estou no meu pc, mas assim que chegar meio dia em casa vou testar, de qualquer forma muito obrigado! Te respondo a tarde para dizer se funcionou, abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se te ajuda, mas tenta assim,

 

select 
  dados.qtd,
  dados.valor,
  (dados.qtd * dados.valor) total
from (
      select 
           sum(quant) as qtd,
           sum(valor) as valor
      from carrinho
    ) dados

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.