Mehow 1 Denunciar post Postado Janeiro 14, 2010 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
Dee 0 Denunciar post Postado Janeiro 14, 2010 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
Mehow 1 Denunciar post Postado Janeiro 14, 2010 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
oliver.valter 0 Denunciar post Postado Janeiro 15, 2010 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
zetto33 0 Denunciar post Postado Janeiro 15, 2010 //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