C.Moura 0 Denunciar post Postado Julho 5, 2010 Olá pessoal. Estou tendo uma dúvida em PHP que não consigo resolver. É o seguinte: Tenho uma Query Mysql no meu Código PHP que me retorna algo como: 30/05/2009 01/02/2010 05/02/2010 06/03/2010 O que eu gostaria de fazer é contar quantas linhas tem o ano e o mês iguais, dinamicamente. Ou seja, queria que me retornasse algo como: 05/2009 - 1 02/2010 - 2 03/2010 - 1 Mas não tenho ainda a mínima idéia de como desenvolver a lógica e codar isso em PHP. Alguém pode me dar uma dica? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 5, 2010 Exemplo: $sql = mysql_query("SELECT COUNT(id) as total,datahora,DATE_FORMAT(datahora,'%m/%Y') as data_formatada FROM artigos GROUP BY month(datahora),YEAR(datahora)"); while($dados = mysql_fetch_assoc($sql)){ echo $dados['data_formatada'].' - '.$dados['total'].'<br>'; } Tabela usada: CREATE TABLE IF NOT EXISTS `artigos` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_categoria` int(10) unsigned DEFAULT NULL, `id_usuario` int(10) unsigned DEFAULT NULL, `titulo` varchar(100) DEFAULT NULL, `datahora` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Compartilhar este post Link para o post Compartilhar em outros sites
C.Moura 0 Denunciar post Postado Julho 5, 2010 Exemplo: $sql = mysql_query("SELECT COUNT(id) as total,datahora,DATE_FORMAT(datahora,'%m/%Y') as data_formatada FROM artigos GROUP BY month(datahora),YEAR(datahora)"); while($dados = mysql_fetch_assoc($sql)){ echo $dados['data_formatada'].' - '.$dados['total'].'<br>'; } Tabela usada: CREATE TABLE IF NOT EXISTS `artigos` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_categoria` int(10) unsigned DEFAULT NULL, `id_usuario` int(10) unsigned DEFAULT NULL, `titulo` varchar(100) DEFAULT NULL, `datahora` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Funcionou perfeitamente! Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
C.Moura 0 Denunciar post Postado Julho 6, 2010 Ops, Sem querer abusar da boa vontade de vocês... Testei com o teste e deu certo. Mas a minha Query é algo do tipo $resultado = mysql_query("SELECT * FROM minhatabela WHERE code!=\"\" ". (($searchArgs != "") ? "AND {$searchArgs}" : "").""); Onde a variável $searchArgs muda os valores sempre, mas segue o padrão: calldate > '2010-04-04 00:00:00' AND calldate < '2010-07-09 23:59:59' Poderia alguém dar me uma dica? Compartilhar este post Link para o post Compartilhar em outros sites