Ir para conteúdo

POWERED BY:

Arquivado

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

Gaulia

Como fazer para usar while e não repetir um campo?

Recommended Posts

Então minha dúvida é o seguinte

 

 

Eu estou usando while para fazer um loop de guia de episodios... Mas eu queria que apenas o campo "temporada" não repeti-se... o resto ssim...

 

ficando assim:

 

1º Temporada

1º Episodio.

2º Episodio.

 

3º Temporada

1º A morte de Sasuke

2º Episodio.

 

4º Temporada

1º Episodio.

 

Só que quando eu uso o GROUP BY temporada, ele elimina todas as temporadas iguais e a linha inteira dela...

 

Então se tiver 2 guias em uma temporada só ele vai aparecer um só...

 

Como eu faço para quando ele for fazer o while, ele não repita o campo temporada e o resto repita...?

 

$sql = mysql_query("SELECT id_guia, temporada, titulo FROM guia_ep WHERE anime = '$guia' GROUP BY temporada ORDER BY temporada ASC");while($a = mysql_fetch_array($sql)){	$id_guia = $a['id_guia'];	$temporada = $a['temporada'];	$titulo = $a['titulo'];}

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q você ta indo pela logica errada... o jeito q você ta fazendo é possivel mas é mais dificil...você pode definir uma variavel qq com valor 0...e se for 0 ele mostra a temporada e grava valor 1 na variavel, se for 1 ele nao mostra a temporada e só o episodio.ai tiraria o group by.outra solução é fazer uma busca só das temporadas e dentro do while de temporadas fazer outro while pegando os episodios...ai a primeira sql query fica com group by pra pegar as temporadas e a segunda fica só where temporada = '$temporada'se tiver mto confuso fala, mas acho q é isso ai.se você nao conseguir eu vejo se mando um exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

manda organizar por temporada assim fica mais facil verificar se a temporada atual é igual a anterior, sendo iqual não faz nada e prossegui. Acho assim fica moleza

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela opniões dos dois...Sadboar eu pensei em fazer um while de temporada e dentro dele um de episodios, mas não deu muito certo...Eu tentei e deu erro ehhehe... posso até mandar o script se quiser ver, mas eu usei essa lógico de fazer dois while, mas como vi que deu erro, pensei que tinha alguma função no SQL que resolveria isso, tudo bem vou tentar, commo não estou em casa, eu testo quando chegar, obrigado...Martinusso, não entendi o que disse... por que eu cheguei a fazer isso, eu uso GROUP BY, mas quero que embaixo dele aparece os episodios da temporada... então explique melhor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas não é para usar group by, use o while e liste tudo, filtrando o que precisar(se necessario com where), depois dentro do while, faça um if mesmo para comparar se o valor tempordada atual é igual ao valor temporada anterior.

 

Lógico que você terá que efetuar um ORDER BY temporada.

 

entendeu? qq coisa posta ae q eu explico novamente http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

ou se não posta o que você fez q eu dou uma força no codigo pra você http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se isso da certo

 

nem revisei o codigo, mas acho q vai funcionar direitinho...to meio sem tempo hje. qq coisa posta seu codigo ai.

 

$sql = mysql_query("SELECT temporada FROM guia_ep GROUP BY temporada ORDER BY temporada ASC");while($a = mysql_fetch_array($sql)){	$temporada = $a['temporada'];	echo "<p>$temporada</p>";		$sql1 = mysql_query("SELECT id_guia, titulo FROM guia_ep WHERE temporada = '$temporada' ORDER BY id_guia ASC");		while($b = mysql_fetch_array($sql1))		$id = $b['id_guia'];		$titulo = $b['titulo'];			{			echo "$id - $titulo<br>";			}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, deu certinho e entendi o que você fez..

 

Agradeço muito pela colaboração e a força de vontade de ajudar um pobre coitado :P

Agradeço mesmo...

 

aqui está o código que o SadBoar mandou e eu arrumei umas coisinhas... :P

 

$sql = mysql_query("SELECT temporada FROM guia_ep GROUP BY temporada ORDER BY temporada ASC");while($a = mysql_fetch_array($sql)){	$temporada = $a['temporada'];   	echo "<p><strong>" . $temporada . "º Temporada</strong></p>";		$sql1 = mysql_query("SELECT id_guia, titulo FROM guia_ep WHERE temporada = '$temporada' ORDER BY titulo ASC");			while($b = mysql_fetch_array($sql1))		{				$id = $b['id_guia'];		$titulo = $b['titulo'];						echo "<a href=" . $url . "guia_episodios&review=" . $id . ">" . $titulo . "</a><br>";		   		   }

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.