Ir para conteúdo

Arquivado

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

Hullen

problemas no laço while()

Recommended Posts

Olá, tenho o seguinte problema.tenhu uma tabela titulos e uma tabela ano..tb_anoid | ano1 20052 20063 2007e uma tabela titulosid_titulos id_ano titulos1 1 lalala2 1 Nknknk3 2 hjhjhjPreciso da seguinte coisa..Primeiro ele de um loop nos anos.. e escrever os anos na pagina..200520062007depois preciso q ele de um loop nos titulos e escreva eles na pagina.. soh que preciso q os titulosfiquem abaixo do ano correspondente a ele.. exemplo:2005lalalaNknknk2006hjhjhj2007e assim por diante.. eu jah tentei de varias maneiras.. tentei colocar o ano na mesma tabela..jah tentei com o ano em uma tabela diferente.. oq estah me acontecendo eh u seguinte..ele imprime os anos na pag mais os titulos soh imprime na primeira vez.. no segundo loop não funciona..ou seja fiz da seguinte maneira..

	<table width="100%" height="35" border="0" align="center" cellpadding="0" cellspacing="0">	<?php do {?>      <tr>        <td width="80%" height="15"><?php echo $row_rs_ano['ano']; ?></td>      </tr>	  <?php	do { ?>	  <?php if ( $row_rs_ano['id_ano'] == $row_rs_titulos['id_ano']) { ?>      <tr>        <td height="15"><a href="titulos/<?php echo $row_rs_ano['ano'];?>/<?php echo $row_rs_titulos['arquivo'];?>"><strong>» <?php echo $row_rs_titulos['titulo']; ?></strong></a></td>      </tr>	  <?php } } while ($row_rs_titulos = mysql_fetch_assoc($rs_titulos)); ?>	  <?php } while ($row_rs_ano = mysql_fetch_assoc($rs_ano)); ?>    </table>

ele imprime2005lalalaNknknk20062007sendo q tem coisas cadastradas em 2006 e 2007

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos la, mas vou responder usando o laço q estou acostumado.

 

Usaremos apenas 1 select na base que irá fazer a ligação da tabela "tb_ano" com a tabela "titulos" e ordenar por ano;

 

É um exemplo simples, mas que acho que deve atender oq você precisa.

<?php$query = "Select a.ano, b.titulos from tb_ano as a, tituloes as b where a.id = b.id_ano order by a.ano";$rs = mysql_query($query);while($row = mysql_fetch_array($rs, MYSQL_ASSOC)){   if($aano != $row["ano"])   {	 echo $row["ano"] . "<BR>";	 $aano = $row["ano"];   }      echo $row["titulos"] . "<BR>";}?>

Veja se rola.

 

e se tiver duvidas, manda ae!

 

Att,

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.