Ir para conteúdo

POWERED BY:

Arquivado

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

Mehow

Como agrupar os eventos por mês?

Recommended Posts

Tenho uma tabela de eventos com os seguintes campos

-id

-evento

-descricao

-data

 

Tenho que fazer agora um agrupamento por mês, que nem de Blog

Ex:

Janeiro

-evento1

-evento2

Fevereiro

-evento1

-evento2

 

não sei como fazer, no banco eu gravo a data tudo em um campo só tipo "14/01/2010", para fazer o que quero tenho que separar em vários campos tipo um para dia, outro para mes e outro para ano para poder fazer a ordenação?

Compartilhar este post


Link para o post
Compartilhar em outros sites


Select month(convert(varchar,"14/01/2010",103)) as Mes

From Tabela

Group By month(convert(varchar,"14/01/2010",103))

Order By month(convert(varchar,"14/01/2010",103))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select month(convert(varchar,"14/01/2010",103)) as Mes 
From Tabela 
Group By month(convert(varchar,"14/01/2010",103)) 
Order By month(convert(varchar,"14/01/2010",103))

amigo essa consulta não deu certo... =/

não consigo pensar como vou fazer exibir o nome do mes e depois logo abaixo todos os eventos, depois outro mes.. e e assim adiante

 

estou tentando aki mas ta f***...

parte do codigo que ja fiz

    <?php
    	$path_local = "padrao.php";
		include "db.php";
		
		$anoatual = date('Y');
		
		$sql = mysql_query("SELECT * FROM eventos WHERE ano = '$anoatual' GROUP BY mes ORDER BY mes  ");
		while($row = mysql_fetch_array($sql))
		{
			$evento = $row['evento'];
			$desc = $row['descricao'];
			$data = $row['data'];
			$dia = $row['dia'];
			$mes = $row['mes'];
			$ano = $row['ano'];
			
			switch($mes)
			{
				case 1:
				$nome_mes = "Janeiro";
				break;
				
				case 2:
				$nome_mes = "Fevereiro";
				break;
			}
			
		  echo "<b>".$nome_mes.'</b><br>';
		  echo $evento;
		}
	?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como tudo esta dentro de uma tabela somente eu faria assim: é meio tosco mais acho que funciona...

<?php
 	$path_local = "padrao.php";
 	include "db.php";
 	
 	$anoatual = date('Y');
 	
 	$sql = mysql_query("SELECT * FROM eventos WHERE ano = '$anoatual' GROUP BY mes ORDER BY mes ");
 	while($row = mysql_fetch_array($sql))
 	{
 	$evento = $row['evento'];
 	$desc = $row['descricao'];
 	$data = $row['data'];
 	$dia = $row['dia'];
 	$mes = $row['mes'];
 	$ano = $row['ano'];

			echo $mes; //exemplo aqui mostro no nome do mes()	

			$sql = mysql_query("SELECT * FROM eventos WHERE mes = $mes");
 	
	 	while($row = mysql_fetch_array($sql))
 		 	{
				// aqui eu mostraria os eventos	
			}

 	
 	echo "<b>".$nome_mes.'</b><br>';
 	echo $evento;
 	}
 	?>
abs

 

valter

Compartilhar este post


Link para o post
Compartilhar em outros sites

//fiz uma busca geral, para que possa trabalhar com os demais campos, p.ex. $row["descricao"] ...

$sql = mysql_query("SELECT * FROM evento");

while($row = mysql_fetch_array($sql)){

//separa em variáveis quando encontrar o caracter / (14/01/2010 --> $dia=12;$mes=01;$ano=2010;)

list($dia,$mes,$ano) = explode('/',$row["data"]);

if($mes=="01"){

//faz alguma coisa em janeiro

}

if($mes=="02" AND $ano="2010"){

//faz alguma coisa em fevereiro de 2010

}

(...)

}

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.