Ir ao conteúdo
  • Cadastre-se
rogermoreira

PHP filtrar dados do select pelo for (PHP)

Recommended Posts

Fala pessoal,

 

tenho o seguinte problema:

for ( $dia = 1; $dia =< 31; $dia++ ) {

$query = "select * count(data) as total from tabela where year(data) = '$ano' and month(data) = '$mes' and day(data) = '$dia'";

$dados = mysql_query($query, $conexao) or die(mysql_error());

$row = mysql_fetch_assoc($dados);

echo "$row['total']";

}

 

e o que eu estou querendo é fazer uma única busca no mês, agrupar por dia e depois através do comando for pegar esses valores diários.

 

dá pra tirar essa busca de dentro do laço for?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@xrogerinho Olá.

 

 Na verdade o laço de repetição é necessário para percorrer toda sua tabela.  Você só não usa o laço  de repetição caso queira trazer um dado só.

 

Eu não usaria o for.  Nesse caso, o ideal é usar o while.

Quanto ao filtro,  você pode fazer isso com ajax e PHP.

Um tempo atras eu escrevi um artigo ensinando a fazer esse filtro o link é este: filtro-de-dados-com-checkbox-usando-ajax-e-php/

 

Claro que provavelmente você vai adaptar o jeito dele para seu projeto. Mas o lance é entender a ideia dele. Leia atentamente linha por linha da explicação para entender o código!

No final tinha um exemplo, que por alguma razão não sei porque não está mais funcionando.

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu DIF,

Na verdade o que eu quero é bem simples, mas como aprendi tudo pelo google, não sei como montar alguns argumentos:

 

veja o que eu quero:

 

$query = "select *, sum(data) as total from tabela where year(data) = '$ano' and month(data) = '$mes' group by day(data)";

$dados = mysql_query($query, $conexao) or die (mysql_error());

$rows = mysql_fetch_assoc($dados);               <= será que essa linha me dá um total de itens por dia?

 

estou selecionando todos os registros do mês e contando por dia; eu acho

 

daqui em diante usarei o comando for para gerar uma tabela 31 dias representando um calendario;

onde em cada dia me mostrará a quantidade de registros deste dia, só não sei como puxar esse valor da $row:

uso o comando for porque independente de ter registro ou não ele me dá todos os dias do mês.

 

dia 1: 15

dia 2: 10

dia 3: 00

...

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×