Ir para conteúdo
Fórum Script Brasil
  • 0

while dentro de while


Daniel Correia

Pergunta

olá tenho um while onde mostra todos os resultados de um tabela, e dentro desse while tenho outro while que mostra todos os resutados de outra tabela ex:

while($dados_tb1 = mysql_fetch_assoc($result_tb1)){

?>

<div id="tb1">

<?php echo $dados_tb1['nome']; ?>

</div>

<?

ai dentro do while eu tenho esse outo while:

<?php

while($dados_tb2 = mysql_fetch_assoc($result_tb2)){

?>

<div id=teste" style="border: solid 1px black; width: 150px; margin-left: 100px;">

<?php echo $dados_tb2['mensagens]; ?>

</div>

<?

}

?>

}

o resultado de mensagens só está aparecendo para o primeiro resultado do primeiro while ex:

resultado do primeiro while:

joao

mesagem

mesagem

mesagem

maria

jose

pedro

eu queria que aparecessem mesagem para todos não só para o joão, como resolvo ?

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom dia, Daniel!

É claro que estou com dificuldades em te aconselhar pois você só apresentou os fetch e não a consulta em si.

Exceto sua consulta estiver com algum problema de lógica, não deveria ter esta dificuldade.

Normalmente faço uso de diversos whiles, sendo que alguns deles bastante amplos.

Passe a consulta origem para que possamos verificar melhor.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
a primeira consulta do primeiro while é essa:

$sql = "SELECT nome FROM tb_cadastro";

o segundo while:

$sql1 = "SELECT mensagens FROM tb_mensagens";

como eu falei as mensagens só aparecem para o primeiro resultado do primeiro while.

joao

mesagem

mesagem

mesagem

maria

jose

pedro

como resolvo?

o seu select de mensagens deve ter vinculo com o cliente, para em cada laco dentro de cada cliente ele pegue apenas as mensagens do cliente especifico.

Atualmente você esta pegando todos os clientes e todas as mensagens de todos os clientes, é como se os ultimos clientes não tivessem mensagens.

Coloque uma fk na tabela mensagem que vincule com o cliente. Ai você faz:

SELECT mensagem FROM mensagens WHERE id_cliente = $idCliente;

onde o $idCliente vem do primeiro select.

Resumindo:

SELECT * FROM CLIENTE;

while($cliente = fetch_array){

echo $cliente['nome']

SELECT mensagem FROM mensagens WHERE id_cliente = $cliente['id_cliente'];

while($mensagem = fetch_array){

echo $mensagem['mensagem'];

}

}

abraço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...