branco 0 Denunciar post Postado Dezembro 28, 2003 Eu estou começando no php, e fiz um sistema de blog, tá tudo certinho, menos a geração dos links pra textos antigos... Para gerar os links, eu estou guardando no mysql o mês, o numero de dias do mês e o ano... Só que o problema acontece quando vou gerar os links, ele repete o mês o número de posts, sendo que deveria gerar um link por cada mês encontrado... o codigo é esse: <?include "admin/conf.php";$sql = "SELECT DISTINCT * FROM blog WHERE mes ORDER BY post_id DESC"; $resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");while ($linha=mysql_fetch_array($resultado)) {$mes = $linha["mes"];$dias = $linha["numdias"];$ano = $linha["ano"];echo "<center><a href='antigos.php?mes=$mes'>De 1-$mes-$ano até $dias-$mes-$ano</a></center>";}?>Eu tentei colocar no lugar do * a coluna, ou seja, mes, mas daí ele não mostra nem o numero de dias nem o ano... Se alguém souber como resolver esse problema... Compartilhar este post Link para o post Compartilhar em outros sites
Seifer 0 Denunciar post Postado Dezembro 28, 2003 Não entendi direito, por que você colocou coisa demais num lugar e pouca em outra. Ae vai um exemplo de como eu faria, para você ter uma idéia. <?include "admin/conf.php";$sql = "SELECT * FROM blog ORDER BY post_id DESC";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");while ($linha=mysql_fetch_array($resultado)) {$mes = $linha["mes"];$dias = $linha["numdias"];$ano = $linha["ano"];echo "<center><a href='antigos.php?mes=$mes&ano=$ano'>De 1-$mes-$ano até $dias-$mes-$ano</a></center>";}?> para recuperar os artigos do mes: $sql = "SELECT * FROM blog WHERE mes='$mes' and ano = '$ano' ORDER BY post_id DESC"; Compartilhar este post Link para o post Compartilhar em outros sites
branco 0 Denunciar post Postado Dezembro 29, 2003 O problema é que tá gerando links sem parar... ao invés de gerar apenas 1 link por mês... cada arquivo que ele encontra ele gera um link... por isso o negócio cresceu demais lá encima, tentativas fustradas de solução... Acabei de conseguir o que queria... usei um simples if pra comparar, visto que as datas vão obviamente crescer ordenadamente... <?include "admin/conf.php";$sql = "SELECT * FROM blog ORDER BY post_id DESC"; $resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");$mescomp=0;while ($linha=mysql_fetch_array($resultado)) {$mes = $linha["mes"];$dias = $linha["numdias"];$ano = $linha["ano"];[COLOR=red]if($mes!=$mescomp){ echo "<center><a href='lerantigos.php?mes=$mes'>De 1-$mes-$ano até $dias-$mes-$ano</a></center>"; $mescomp=$mes;}else $mescomp=$mes;[/COLOR]}?> Compartilhar este post Link para o post Compartilhar em outros sites