Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde programadores....
Estou com uma dificuldade grande. tenho um sistema de livro caixa, e estou tentando fazer que o sistema mostre o resultado dos valores exibidos, mas só mostra o resultado total de tudo já cadastrado. como devo fazer para mostrar somente o que aparece na página?
Estou usando esse código pra calcular:
<?php
$consulta = "SELECT *, SUM(despesa_valor) valor FROM pagamento";
$resultado = mysql_query($consulta);
while ($l = mysql_fetch_assoc($resultado)) {
?>
<?php
$consulta1 = "SELECT *, SUM(dinheiro_pago) valor from PAGAMENTO";
$resultado1 = mysql_query($consulta1);
while ($dinheiro = mysql_fetch_assoc($resultado1)) {
?>
<?php
$consulta2 = "SELECT *, SUM(cartao_pago) valor from PAGAMENTO";
$resultado2 = mysql_query($consulta2);
while ($cartao = mysql_fetch_assoc($resultado2)) {
?>
<?php
$entrada = $dinheiro[valor] + $cartao[valor];
$saldo = $entrada - $l[valor];
echo number_format($saldo, 2, ',', '.');
}}}
?>
Agradeço desde já...
Oi...
isso é um faturamento, e eu gostaria de colocar os valores somados que estão apresentando na tela.
Porem o resultado que aparece é o total de tudo que ja foi cadastrado.
Como posso usar a clausula WHERE para identificar o conteudo que aparece na url 'DataServico' (caixa.php?DataServico=01/01/2017 ou caixa.php?DataServico=01/2017)
Como posso fazer a soma correta?
A ideia é bem parecida com a que mostro neste artigo sobre Sistema de Busca: http://blog.ultimatephp.com.br/sistema-busca-php-mysql-pdo/
Outra possibilidade é somar durante a exibição. Algo assim:
// faz o SELECT
$total = 0;
while ($f = fetch(...))
{
// exibe
echo $f['valor'];
$total += $f['valor'];
}
echo "Total: " . $total;
Porém será mais fácil calcular tudo na query, se a condição do WHERE for a mesma para os dados exibidos e para a soma total
Não deu certo aparece essa mensagem...
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Domains\webcariri.com.br\wwwroot\cfc\admin\caixa.php on line 465
Tem algum outro código que possa fazer esse calculo corretamente?
Obrigado...
Isso acontece quando mysql_query falha. Faça debug para identificar o problema
Descrevo esse problema neste link: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#mysql_result_resource
Bem-vindo ao fórum! :)
Recomendo que leia as Regras e Orientações de participação
Não entendi bem seu objetivo. Você quer que o SELECT busque um conjunto menor de dados? Se for isso, tem que limitar com a cláusula WHERE.
Um grande problema do seu script é que ele tem 3 loops e cada um faz consultas no banco. Isso reduz absurdamente o desempenho. Veja este meu artigo sobre esse assunto: http://rberaldo.com.br/o-problema-do-n-mais-1/
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira MySQLi ou PDO. Veja mais detalhes aqui: http://rberaldo.com.br/mysql-obsoleto-php/