Jump to content


Photo

Erro No While


  • Faça o login para participar
5 replies to this topic

#1 andreswd

andreswd

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 05/12/2008, 09:10

lá, Pessoal

Tenho que um cadastro com nome da empresa, cidade, estado e seguimento, essas informações serão exibidas em um accordion feito com ajax.

Antes de faze-lo dinamico testei e deu certo, o problema que quando faço o While ele repete o nome das cidades o que eu quero que ele imprima apenas uma vez o nome de cada cidade e abaixo ai sim o nome das empresas, veja como esta:

$consulta = " SELECT id, empresa, seguimento, cidade, estado FROM clientes ORDER BY cidade ASC";
   $fazer_consulta = mysql_query($consulta);
   while ($dados_consulta = mysql_fetch_array($fazer_consulta)) {
	   $id = $dados_consulta['id'];
	   $empresa = $dados_consulta['empresa'];
	   $seguimento = $dados_consulta['seguimento'];
	   $cidade = $dados_consulta['cidade'];
	   $estado = $dados_consulta['estado'];
		 	   					
		echo "<h3 class='toggler'>$cidade</h3><div class='element'><h4>$empresa<br /></h4> </div>";  

   }

Gostaria da ajuda de voces para resolver isso


Obrigado

#2 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 05/12/2008, 09:43

Isso porquê a consulta que gera a cidade não está dentro do While! (y) Aí como aquela consulta gerará apenas 1 cidade, a mesma será repitida quando pedida.

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#3 andreswd

andreswd

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 05/12/2008, 09:48

e como posso resolver isso?
pode me dar um exemplo

Edição feita por: andreswd, 05/12/2008, 09:49.


#4 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 05/12/2008, 10:29

Correçãozinha ortográfica: Não seria SEGMENTO ao invés de SEGUIMENTO?

[codebox]$sql = " SELECT id, empresa, seguimento, cidade, estado FROM clientes ORDER BY cidade ASC";
$con = mysql_query($consulta);
if(mysql_num_rows($con) > 0){
while($rs = mysql_fetch_object($con)){
$id = $rs->id;
$empresa = $rs->empresa;
$seguimento = $rs->seguimento;
$cidade = $rs->cidade;
$estado = $rs->estado;
$div = "<h3 class='toggler'>$cidade</h3><div class='element'><h4>$empresa<br /></h4> </div>";
echo $div;
}
}[/codebox]

Teste assim, caso não dê certo, joga a consulta no phpmyadmin e veja o que retorna! Para saber se é a consulta ou o código que está errado!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#5 andreswd

andreswd

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado

Posted 05/12/2008, 10:47

ainda nao deu certo:

acho que o problema esta acontecendo aqui:
$div = "<h3 class='toggler'>$cidade</h3><div class='element'><h4>$empresa<br /></h4> </div>";

eu queria dar um jeito de imprimir apenas um nome de cada cidade, agora esta assim :

São Paulo
nome da empresa 1
São Paulo
nome da empresa 2
São Paulo
nome da empresa 3

o correto seria:

São Paulo
nome da empresa 1
nome da empresa 2
nome da empresa 3


acho que agora me expressei melhor quanto ao problema.

Desde ja agradeço a ajuda

#6 EternaL

EternaL

    12 Horas

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:Blumenau, SC

Posted 05/12/2008, 12:11

Você pode fazer assim também:

$consulta = " SELECT id, empresa, seguimento, cidade, estado FROM clientes ORDER BY cidade ASC";
   $fazer_consulta = mysql_query($consulta);
   while ($dados_consulta = mysql_fetch_array($fazer_consulta)) {
	   if ($dados_consulta['cidade'] != $cidade) {
		   echo "<h3 class='toggler'>$cidade</h3>";
	   }

	   $id = $dados_consulta['id'];
	   $empresa = $dados_consulta['empresa'];
	   $seguimento = $dados_consulta['seguimento'];
	   $cidade = $dados_consulta['cidade'];
	   $estado = $dados_consulta['estado'];
									
		echo "<div class='element'><h4>$empresa<br /></h4> </div>";  

   }

Isso deve funcionar como você quer.
Magnum Web - Trazendo o melhor da web para você

Desenvolvimento de websites e sistemas web. Acesse http://www.magnumweb.com.br




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq