myNameX 0 Denunciar post Postado Março 27, 2015 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
Williams Duarte 431 Denunciar post Postado Março 27, 2015 $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
myNameX 0 Denunciar post Postado Março 27, 2015 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
Williams Duarte 431 Denunciar post Postado Março 27, 2015 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
myNameX 0 Denunciar post Postado Março 27, 2015 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
Williams Duarte 431 Denunciar post Postado Março 27, 2015 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
myNameX 0 Denunciar post Postado Março 27, 2015 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
Williams Duarte 431 Denunciar post Postado Março 27, 2015 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
myNameX 0 Denunciar post Postado Março 27, 2015 Sim, ordenar data. Todos os dias dos mês com seus respectivos ganhos. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Março 27, 2015 Utilize a clausula order by, e especifique o campo data http://www.w3schools.com/sql/sql_orderby.asp Compartilhar este post Link para o post Compartilhar em outros sites
myNameX 0 Denunciar post Postado Março 28, 2015 apenas colocando ORDER BY data? ou preciso por outras coisas? Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Março 28, 2015 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
myNameX 0 Denunciar post Postado Março 28, 2015 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. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Março 28, 2015 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.htmlPS.: 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