Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Soma e soma total


valdercunha

Pergunta

Fale galera, meu probleminha é um pouco complicado (pelo menos para mim que estou começando) é o seguinte estou criando um sistema para a minha empresa em php onde terei controle de contas a pagar a receber cadastro de funcionarios chamados de serviços e peças eles estão todos funcionando legal e resolvi da um incrementada na area de peças.

Minha ideia é a seguinte clico em "listar peças" ae me aparece a lista de todas as peças e um campo em cima aonde posso entrar com o mês é o centro de custo desta peça para me gerar um relatorio (isto tambem esta funcionando) quando este relatorio for criado ira aparecer cinco campos que são Nome, centro de custo, quantidade comprada no mês, valor unitario, valor total e no final do todo o registro o valor total de quanto já foi comprado de todos os produtos do referente mês, ae que eu to batendo. como fazer isso?eu sei que para somar valor posso usar a SUM(Tabela) AS xxx so que eu tenho um historico de cada peça e eu teria que somar o valor que esta no historico pois nem sempre a mesma peça e comprada no mesmo preço.

Meu banco de dados esta assim:

Tabela pecas:

`pecas` (

`id_peca` int(11) NOT NULL AUTO_INCREMENT,

`nome_peca` varchar(140) NOT NULL,

`preço` varchar(140) NOT NULL,

`preco_total` varchar(140) NOT NULL,

`qtd` varchar(140) NOT NULL,

`id_fornecedor` smallint(5) NOT NULL,

`custo_cad` smallint(5) NOT NULL,

`data_comprada` date NOT NULL,

PRIMARY KEY (`id_peca`)

)

e a historico_pecas

`historico_pecas` (

`id_historico` int(11) NOT NULL AUTO_INCREMENT,

`cod_produto` smallint(5) NOT NULL,

`data_compra` date NOT NULL,

`fornecedor_compra` smallint(5) NOT NULL,

`qtd_compra` varchar(140) NOT NULL,

`valor_compra` varchar(140) NOT NULL,

PRIMARY KEY (`id_historico`)

Bem eu já imaginei na hipótese de fazer um while para poder somar o total de cada produto já que não é o mesmo preço sempre, mais n faço ideia em como fazer =D e o total geral como irei fazer tambem? :S

Alguma luz por favor

Ah o codigo desta pagina hoje esta assim:

<?php

include ('../config/intro.php');

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>SERVCOM</title>

<meta name="keywords" content="" />

<meta name="description" content="" />

<link href="../style.css" rel="stylesheet" type="text/css" media="screen" />

<script src="../SpryAssets/SpryMenusBar.js" type="text/javascript"></script>

<link href="../SpryAssets/SpryMenusBarHorizontal.css" rel="stylesheet" type="text/css" />

</head>

<body>

<div id="header">

<h1><?php include ("topo.html"); ?> </h1>

</div>

<div id="menu">

<?php include ("../menufunc.html"); ?>

</div>

<div id="page-conteudo">

<div id="page-conteudo-top">

<div id="page-conteudo-bottom">

<div>

<div id="conteudo">

<h1 align="center"><br />

Relat&oacute;rio de Pe&ccedil;as</h1>

<p align="center">&nbsp;</p>

<?php

$_SERVER["REQUEST_METHOD"] == "POST";

$mes_selecionado = $_POST["mes_selecionado"];

$custo_cad = $_POST["custo_cad"];

if ($custo_cad == 0){

Abre_Conexao();

$re = mysql_query("SELECT * FROM pecas INNER JOIN custo ON pecas.custo_cad = custo.id_custo where MONTH (data_comprada) = '$mes_selecionado' ORDER BY nome_peca ASC");

}else{

Abre_Conexao();

$re = mysql_query("SELECT * FROM pecas INNER JOIN custo ON pecas.custo_cad = custo.id_custo where MONTH (data_comprada) = '$mes_selecionado' and '$custo_cad' = id_custo ORDER BY nome_peca ASC");

}?>

<table width=90%" border="1" align="center" cellpadding="0" cellspacing="0" class="tabela">

<tr>

<td width="39%">&nbsp;<strong>

<topic>Nome</topic>

</strong></td>

<td width="13%"><topic><strong>Custo</strong></topic></td>

<td width="14%"><topic><strong>Valor Unit&aacute;rio</strong></topic></td>

<td width="15%"><topic><strong>Quantidade comprado no m&ecirc;s</strong></topic></td>

<td width="19%"><strong>

<topic>Valor total</topic></strong></td>

</tr>

</table>

<?php

while($result = mysql_fetch_array($re)) {

$id = $result["id_peca];

$nome_peca = $result["nome_peca"];

$preço = $result["preço"];

$preco_total = $result["preco_total"];

$custo = $result["custo"];

$resultado = mysql_query("SELECT COUNT(id_historico) as total_comp FROM historico_pecas INNER JOIN pecas ON historico_pecas.cod_produto = pecas.id_peca WHERE MONTH (data_compra) = '$mes_selecionado' AND '$id' = cod_produto");

$res = mysql_fetch_array($resultado);

$qtd_total = $res["total_comp"];

?>

<table width=90%" border="1" align="center" cellpadding="0" cellspacing="0" class="retornosimples">

<tr>

<td width="39%">&nbsp;<?php echo "<a href=\"visualizar.php?id=$id\">$nome_peca</a>"; ?></td>

<td width="13%" align="center">&nbsp;<?php echo "<a href=\"visualizar.php?id=$id\">$custo</a>"; ?></td>

<td width="14%">&nbsp;R$&nbsp;<?php echo "$preço"; ?></td>

<td width="15%">&nbsp;<?php echo "$qtd_total"; ?></td>

<td width="19%">&nbsp;R$&nbsp;<?php $preco_total2 = "$qtd_total" * "$preço"; echo "$preco_total2"; ?></td>

</tr>

</table>

<?php }

if ($custo_cad == 0){

$soma = mysql_query("select sum(preco_total) as total from pecas where MONTH (data_comprada) = '$mes_selecionado' ");

}else{

$soma = mysql_query("select sum(preco_total) as total from pecas INNER JOIN custo ON pecas.custo_cad = custo.id_custo where MONTH (data_comprada) = '$mes_selecionado' and '$custo_cad' = id_custo");

}

$l = mysql_fetch_array($soma);

$total = $l["total];

?>

<table width="90%" align="center" border="1" cellpadding="0" cellspacing="0" class="retornosimples">

<tr>

<td width="81%"><strong>&nbsp;Valor total</strong></td>

<td width="19%"><strong>&nbsp;R$&nbsp;<?php echo"$total"; ?></strong></td>

</tr>

</table>

<p>

</p>

<p> <a href="../index.php">Voltar</a>

</p>

</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp; </p>

</div>

</div>

<div style="clear: both;">&nbsp;</div>

</div>

</div>

</div>

<div id="footer">

<p>Copyright &copy; 2009 Servcom. </p>

</div>

</body>

</html>

Editado por valdercunha
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Retirado das regras do fórum:

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...