Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal, estou com alguns problemas com o blog que eu to criando.
Estou querendo fazer uma barra lateral com o sistema de ARQUIVO,
EX:
ARQUIVO
Janeiro 2010 (X)
Fevereiro 2010 (X)
Março 2010 (X)
Abril 2010 (X)
...
onde X é a quantidade de posts do mês
Até agora já fiz o seguinte código:
<?php
include ('conec.php');
$sql = "SELECT data FROM blog ORDER BY data DESC ";
$qr = mysql_query($sql) or die(mysql_error());
while($ln = mysql_fetch_assoc($qr)){
$date = explode("-",$ln['data']);
switch ($date[1]) {
case 1:
$mes ="Janeiro";
break;
case 2:
$mes ="Fevereiro";
break;
case 3:
$mes ="Março";
break;
case 4:
$mes ="Abril";
break;
case 5:
$mes ="Maio";
break;
case 6:
$mes ="Junho";
break;
case 7:
$mes ="Julho";
break;
case 8:
$mes ="Agosto";
break;
case 9:
$mes ="Setembro";
break;
case 10:
$mes ="Outubro";
break;
case 11:
$mes ="Novembro";
break;
case 12:
$mes ="Dezembro";
break;
default:
break;
}
switch ($mes) {
case "Janeiro":
if(!$jan){
$sql = "SELECT id FROM blog WHERE data LIKE '%-01-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $jan=1;}
break;
case "Fevereiro":
if(!$fev){
$sql = "SELECT id FROM blog WHERE data LIKE '%-02-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $fev=1;}
break;
case "Março":
if(!$mar){
$sql = "SELECT id FROM blog WHERE data LIKE '%-03-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $mar=1;}
break;
case "Abril":
if(!$abr){
$sql = "SELECT id FROM blog WHERE data LIKE '%-04-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $abr=1;}
break;
case "Maio":
if(!$mai){
$sql = "SELECT id FROM blog WHERE data LIKE '%-05-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $mai=1;}
break;
case "Junho":
if(!$jun){
$sql = "SELECT id FROM blog WHERE data LIKE '%-06-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $jun=1;}
break;
case "Julho":
if(!$jul){
$sql = "SELECT id FROM blog WHERE data LIKE '%-07-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $jul=1;}
break;
case "Agosto":
if(!$ago){
$sql = "SELECT id FROM blog WHERE data LIKE '%-08-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $ago=1;}
break;
case "Setembro":
if(!$set){
$sql = "SELECT id FROM blog WHERE data LIKE '%-09-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $set=1;}
break;
case "Outubro":
if(!$out){
$sql = "SELECT id FROM blog WHERE data LIKE '%-10-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $ago=1;}
break;
case "Novembro":
if(!$nov){
$sql = "SELECT id FROM blog WHERE data LIKE '%-11-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $nov=1;}
break;
case "Dezembro":
if(!$dez){
$sql = "SELECT id FROM blog WHERE data LIKE '%-12-%' ";
$qr = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($qr);
echo $mes."(".$num_rows.")</br>"; $dez=1;}
break;
default:
echo "Mês inválido!";
break;
}
}
?>
Meu problema é q ele só está listando 1 mes, e não todos os meses em q teve postagem
PS: sei q o código ta bem sujo mas eu fiz correndo isso ai =X
Carregando comentários...