Ir para conteúdo

Arquivado

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

azeredo

2 submenus... tentei com while.. mas não deu certo..

Recommended Posts

estou tentando fazer isso....

<li class="menuparent"><a href="#">Álbuns</a>		  <ul>		  <?php			  include("config.php");				$sql_albuns = "select * from albuns order by descricao";			$consulta_albuns = mysql_query($sql_albuns);			$sql_sub_albuns = "select * from sub_albuns";			$consulta_sub_albuns = mysql_query($sql_sub_albuns);			while ($linha_albuns = mysql_fetch_array($consulta_albuns))			{		  ?>			  			  <li class="menuparent"><a href="?p=fotos&album=<?=$linha_albuns["Codigo"] ?>"><?=$linha_albuns["Descricao"] ?></a>		  <?			  }					  ?> 		   <ul><?php while ($linha_sub_albuns = mysql_fetch_array($consulta_sub_albuns))			{ ?>		   <li class="menuparent2"><a href="#"><?=$linha_sub_albuns["Descricao"] ?></a></li> <?php } ?></ul></li>		  </ul>	  </li>
só que nesta tentativa.. o que fiz foi após criar todos os submenus dos albuns.. ele cria no último album o submenu dos sub_albuns.......

 

mas o que eu to tentando fazer é... para cada album.. criar um submenu com seus subalbuns.....

 

alguma sugestão de como fazer???

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que seria mais ou menos assim....

li class="menuparent"><a href="#">Álbuns</a>		  <ul>		  <?php			  include("config.php");				$sql_albuns = "select * from albuns order by descricao";			$consulta_albuns = mysql_query($sql_albuns);						foreach ($linha_albuns = mysql_fetch_array($consulta_albuns)) //isso pode ser feito??			{		  ?><li class="menuparent"><a href="#"><?=$linha_albuns["Descricao"] ?></a>			 <?php 			$sql_subalbuns = "select  * from sub_albuns where album = $linha_albuns["Codigo"]";			$consulta_subalbuns = mysql_query($sql_subalbuns);			 			while ($linha_sub = mysql_fetch_array($consulta_subalbuns)) {		  <?		 		   <li class="menuparent2"><a href="#"><?=$linha_sub_albuns["Descricao"] ?></a></li> <?php } } ?></ul></li>		  </ul>	  </li>

não to conseguindo acesso ao ftp para testar... e aqui to sem apache local......

 

vlws

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora consegui acesso ao ftp.. e alterei o menu.php, para o jeito que postei acima... mas deu erro....

Parse error: syntax error, unexpected ')' in /home/moises/public_html/menu.php on line 122

a linha 122 é a linha que pus foreach ($linha_albuns = mysql_fetch_array($consulta_albuns))....vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

alterei para foreach ($linha_album as $album) { e na busca fiz where album = $album["Codigo"] mas retorna este erro, na linha da busca....Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/moises/public_html/menu.php on line 128então coloquei entre '' o $album["Codigo"]segue a luta... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal.. to chegando perto...

<?php			  include("config.php");				$sql_albuns = "select * from albuns order by descricao";			$consulta_albuns = mysql_query($sql_albuns);			while ($linha_albuns = mysql_fetch_array($consulta_albuns))			{		?>			  				<li class="menuparent"><a href="#"><?=$linha_albuns["Descricao"] ?></a>								<ul>				<?php foreach ($linha_albuns as $album) { ?>				<li class="menuparent2"><a href="#"><?=$album?></a></li> <?php } ?></ul></li><?php } ?>

tá ficando assim....

Albuns -> Família ---------------------------> 1

1

Família

Família

-> Teste -----------------------------> 2

2

Teste

Teste

 

ow seja... fiz apenas para tentar pegar o código do album de cada registro vindo pelo while... só que para cada registro.. ele tá pegando 2 vezes cada campo.... se eu conseguir fazer com que ele pegue uma única vez.. e que seja o código de preferência... aí ta resolvido.. só fazer um while dentro deste foreach para pegar os subalbuns cujo album seja este código.....

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom.. pesquisando no manual sobre mysql_fetch_array descobri o tipo de resultado.... então coloquei esse MYSQL_ASSOC...e não repetiu mais no foreach... só que mesmo assim.. fica o código e a descrição.... tentei colocar assim.. $album[0] mas assim ele mostra 1 e F.... então resolvi fazer assim... dá mais trabalho mas tá quase funcionando...

<?php			  include("config.php");				$sql_albuns = "select Descricao from albuns order by Descricao";			$consulta_albuns = mysql_query($sql_albuns);			while ($linha_albuns = mysql_fetch_array($consulta_albuns, MYSQL_ASSOC))			{		?>			  				<li class="menuparent"><a href="#"><?=$linha_albuns["Descricao"] ?></a>								<ul>				<?php foreach ($linha_albuns as $album)				{				/*$sql_cod_album = "select Codigo from albuns where Descricao = '$album'";				$consulta_cod_album = mysql_query($sql_cod_album);				$cod = mysql_result($consulta_cod_album, "Codigo");*/				$sql = 'select * from sub_albuns where Album = $cod';				$consulta = mysql_fetch_array($sql);				while ($linha = mysql_fetch_array($consulta))				{ 				 ?>				<li class="menuparent2"><a href="#"><?=$linha["Descricao"]?></a></li> <?php } } ?></ul></li><?php } ?>
o único incoveniente é ter que buscar o código do álbum...... só que desta forma......está aparecendo este erro onde era para listar os submenus...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/moises/public_html/menu.php on line 134

a linha em questão é a $consulta = mysql_fetch_array($sql); ... troquei $cod por 1 mas dá o mesmo erro.... fiz a consulta pelo phpMyAdmin e funcionou normalmente..........alguma idédia do porque está dando este erro agora??vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

heheentão.... o campo Album da tabela sub_albuns vai receber o código da tabela Album.... os dois são INT.... e to pegando o código do album pelo foreach e colocando na consulta do sub_albuns mas mesmo colocando o número 1 direto para testar... mostra a mensagem de erro... fazendo o mesmo sql no phpMyAdmin vai normal.....Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

hauhaeuhauehaueacho que to precisando trocar de óculos mesmo.... ou parar de trabalhar a noite em casa com a luz apagada..... hauehuahe

$sql = 'select * from sub_albuns where Album = $cod'; $consulta = mysql_fetch_array($sql); while ($linha = mysql_fetch_array($consulta))

foi só arrumar o $consulta...... mysql_query ....... ehauehuaehagora tá ok o menu (site)Vlw...

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.