Ir para conteúdo

POWERED BY:

Arquivado

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

myNameX

relatorio diario

Recommended Posts

Alguém consegue me ajudar a gerar um relatório diário de ganhos?

 

eu tentei assim, mas só retorna isso:

 

2015-03-20 00:00:02 -|- 2558.189

 

 

Banco de dados:

ganhos = double

data = datetime

$query = $mysqli->query("SELECT SUM(ganhos), data FROM ganhos WHERE data >= '2015-03-20 00:00:00' AND data <= '2015-03-26 23:59:59'");
$result = $query->num_rows;

while($rows = $query->fetch_array()){
   echo $rows["data"] . "-|-" . $rows["SUM(ganhos)"] . "<br />";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
$query = $mysqli->query("SELECT SUM(ganhos), data FROM ganhos WHERE data >= '2015-03-20 00:00:00' AND data <= '2015-03-26 23:59:59'");

Nem precisa disto tudo, para recuperar os dados diários.

 

 

Com as funções DATE() e CURDATE resolve

SELECT SUM(ganhos), data FROM ganhos WHERE DATE(`data`) = CURDATE();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desse jeito funcionou, obrigado.

 

Mas como eu faria para mostrar todos os dias do mês?

 

Exemplo:

 

Data | Ganhos

 

01/03/2015 | R$ 10,00

02/03/2015 | R$ 20,00

03/03/2015 | R$ 30,00

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT SUM(ganhos), data FROM ganhos WHERE MONTH(`data`) = MONTH(CURDATE())

Ou mes e ano

 

SELECT SUM(ganhos), data FROM ganhos WHERE MONTH(`data`) = MONTH(CURDATE()) AND YEAR(`data`) = YEAR(CURDATE())

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso, ai não lista os dias do mês.

<?php
        $query = $mysqli->query("SELECT SUM(ganhos), data FROM ganhos WHERE MONTH(`data`) = MONTH(CURDATE())");
         while($rows = $query->fetch_array()){
             $data = explode(" ", $rows["data"]);
             echo "<td> <strong>$data[0]</strong> </td>";
             echo "<td> <strong>".$rows["SUM(ganhos)"]."</strong> </td>";
        }
    ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explique melhor, você quer agrupar ou formatar a data?

Por que listar os dias, é claro que lista!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Visualizou meu código?

 

Pra mim, ele lista assim:

 

 

2015-03-27 | 1.30

 

 

Eu queria que listasse mostrando todos os dias do mês e mostrando os ganhos.

 

Ex:

 

2015-03-01 | 1.00

2015-03-02 | 2.00

2015-03-03 | 3.00

 

....

 

2015-03-29 | 4.00

2015-03-30 | 5.00

2015-03-31 | 6.00

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lista como, vc colocou só uma data!!!

Você fala ordenar a data é isso?

Mais fácil dar um var_dump no array e colocar aqui nas tags code, pois tentar adivinhar oque vc esta querendo fica difícil. :ermm:

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT SUM(ganhos), `data` FROM `ganhos` WHERE MONTH(`data`) = MONTH(CURDATE()) ORDER BY `data`

ou

SELECT SUM(ganhos), `data` FROM `ganhos` WHERE MONTH(`data`) = MONTH(CURDATE()) ORDER BY `data` ASC

ordem decrescente

SELECT SUM(ganhos), `data` FROM `ganhos` WHERE MONTH(`data`) = MONTH(CURDATE()) ORDER BY `data` DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tinha feito isso, mas sem sucesso.

Acho que minha explicação está errada.

 

É mais ou menos isso que eu quero, sem o total e algumas coisas.

 

TribalFusion-CPM-Ads-Report.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom agora entendi, alem de listar pela data, em dia na ordem crescente, quer somar os valores diários.

 

Bom ai você tem que criar uma subquery

 

Segue o link

 

https://dev.mysql.com/doc/refman/5.0/en/from-clause-subqueries.html

PS.: Tenta fazer alguma coisa, senão não vai aprender!!!

Qualquer dúvida volte a postar, mas não irei fazer por você o seu trabalho, o fórum não é para isso.

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.