Antes de postar minha duvida pesquisei muito e não achei nenhum resultado satisfatório...
Vamos lá, no meu banco tenho a seguinte tabela:
codigo | data_publicacao | arquivo
O que eu quero é fazer um select e agrupar por mês, exemplo:
codigo | data_publicacao | arquivo
1----------2012-03-01------001.pdf
2----------2012-03-02------002.pdf
3----------2012-03-03------003.pdf
4----------2012-04-04------004.pdf
5----------2012-05-05------005.pdf
6----------2012-05-06------006.pdf
7----------2012-05-07------007.pdf
8----------2012-05-08------008.pdf
Ficando dessa forma:
--------------001.pdf
----março---002.pdf
--------------003.pdf
-----Abril----004.pdf
--------------005.pdf
------Maio----006.pdf
--------------007.pdf
--------------008.pdf
A questão toda é que eu não estou sabendo a logica de colocar apenas uma vez o nome do mês, como está no loop sempre fica o mês ao lado do respectivo arquivo, exemplo:
----março----001.pdf
----março----002.pdf
----março----003.pdf
----Abril----004.pdf
----Maio----005.pdf
----Maio----006.pdf
----Maio----007.pdf
----Maio----008.pdf
Segue meu código:
if(empty($_GET['ano'])){
$SelectAtas = mysql_query("SELECT * FROM atas WHERE YEAR(data_publicacao) = YEAR(DATE(NOW())) ORDER BY data_publicacao DESC")or die("Erro na seleção".mysql_error());
while($RowAta = mysql_fetch_assoc($SelectAtas)){
$AtaNome = $RowAta['arquivo'];
$AtaData = $RowAta['data_publicacao'];
desconverte_data($AtaData);
$AtaDataAgrupada = substr($AtaData, 3, 7);
$AtaMes = substr($AtaData, 3, 2);
echo"Ata da Reunião - $AtaData<br>";
}
} else{
$AtaAno = $_GET['ano'];
$SelectAtas = mysql_query("SELECT * FROM atas WHERE YEAR(data_publicacao) = '$AtaAno'")or die("Erro na seleção".mysql_error());
Question
saulo69
Bom dia Pessoal,
Antes de postar minha duvida pesquisei muito e não achei nenhum resultado satisfatório...
Vamos lá, no meu banco tenho a seguinte tabela:
codigo | data_publicacao | arquivo
O que eu quero é fazer um select e agrupar por mês, exemplo:
codigo | data_publicacao | arquivo
1----------2012-03-01------001.pdf
2----------2012-03-02------002.pdf
3----------2012-03-03------003.pdf
4----------2012-04-04------004.pdf
5----------2012-05-05------005.pdf
6----------2012-05-06------006.pdf
7----------2012-05-07------007.pdf
8----------2012-05-08------008.pdf
Ficando dessa forma:
--------------001.pdf
----março---002.pdf
--------------003.pdf
-----Abril----004.pdf
--------------005.pdf
------Maio----006.pdf
--------------007.pdf
--------------008.pdf
A questão toda é que eu não estou sabendo a logica de colocar apenas uma vez o nome do mês, como está no loop sempre fica o mês ao lado do respectivo arquivo, exemplo:
----março----001.pdf
----março----002.pdf
----março----003.pdf
----Abril----004.pdf
----Maio----005.pdf
----Maio----006.pdf
----Maio----007.pdf
----Maio----008.pdf
Segue meu código:
if(empty($_GET['ano'])){
$SelectAtas = mysql_query("SELECT * FROM atas WHERE YEAR(data_publicacao) = YEAR(DATE(NOW())) ORDER BY data_publicacao DESC")or die("Erro na seleção".mysql_error());
while($RowAta = mysql_fetch_assoc($SelectAtas)){
$AtaNome = $RowAta['arquivo'];
$AtaData = $RowAta['data_publicacao'];
desconverte_data($AtaData);
$AtaDataAgrupada = substr($AtaData, 3, 7);
$AtaMes = substr($AtaData, 3, 2);
echo"Ata da Reunião - $AtaData<br>";
}
} else{
$AtaAno = $_GET['ano'];
$SelectAtas = mysql_query("SELECT * FROM atas WHERE YEAR(data_publicacao) = '$AtaAno'")or die("Erro na seleção".mysql_error());
while($RowAta = mysql_fetch_array($SelectAtas)){
$AtaNome = $RowAta['arquivo'];
echo"$AtaNome<br>";
}
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.