Ir ao conteúdo

Posts recomendados

Postado

Galera estou tendo um problema aqui a mais de uma semana já, e não consigo resolver (estou aprendendo php meio que mechendo nas coisas =P)

Vamos lá

 

Eu tenho uma ideia de site que ira usar muitos menus/sub-menus, então decidi coloca-los em um *banco de dados e adicionar um grupo_id [ex 1 para menu / 2 para sub-menu]

 

O problema é que quando ele vai me retornar os resultados a primeira <li> vem em "branco" e como ela vai ficar em uma <ul> ela ta bugando a aparência do site

Coloquei umas imagens pra tentar explicar melhor o problema.

E queria saber se tem como resolver isso, ou alguma sugestão que funcione parecida com essa minha ideia.

 

*SQL Server (estou cursando desenvolvimento de sistemas e usamos ele :P )

 

img do problema \/

Spoiler

21linur.png  

 

Outra img do problema \/

11uj9nc.png

-------------------------------------------

 

Img do Codigo Fonte - \/

Spoiler

b6t1zq.png

 

 

 

 

Meu codigo é esse:

		<?PHP
			$var = 3;
			$SQL1 = "SELECT * FROM categoria where grupo = $var";
			$DADOS1 = mssql_query($SQL1);
									
			if($NUMREG!=0) { do { 					
			echo "<li><a href='$linha[sigla]'>$linha[nome_cat]</a></li>";
			}while($linha = mssql_fetch_array($DADOS1));
			}	
		?>

 

 

 

  • Curtir 1
  • Moderador
Postado

@AlemaoSK @Douglas Aguiar

Só para contribuir, use a sintaxe alternativa de delimitadores. Pois é muito comum se perder em montes de { } dentro do código.

 

Por isso o php tem uma alterativa que é da seguinte forma:

 

//IF
//exemplo1
if():

endif;

//exemplo2
if():

else:

endif;

//exemplo3
if():

elseif:

else:

endif;

//FOR

for():

endfor;

//WHILE
while():

endwhile;

Se quiserem ler o manual do php que informa é este link: Manual sintaxe alternativa do php

Isto melhora muito a organização da escrita do código, mantém mais limpo e use somente as { } para classes e funções!

 

Então seu código na sintaxe alternativa ficaria assim:

 

while($linha = mssql_fetch_array($DADOS1)):
   echo "<li><a href='$linha[sigla]'>$linha[nome_cat]</a></li>";
endwhile;

Se quiser deixar o código mais elegante, podes usar o object ao invés do array!

 

Desta forma:

while($linha = mssql_fetch_object($DADOS1)):
   echo "<li><a href='$linha->sigla'>$linha->nome_cat</a></li>";
endwhile;

Eu particularmente prefiro usar o  object! 

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...