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

Erro Ao Dar Loop (while) Em Mysql


Guest Tiago Passos

Pergunta

Guest Tiago Passos

O sistema é o seguinte: tenho um artigo, e uma tabela referente às pessoas relacionadas com o artigo. Listadas as pessoas (primeiro loop), agora eu listo os contatos delas (telefone, e-mail etc.). Coloco o primeiro loop sozinho e ele funciona corretamente, quando coloco o seguinto (pra que seja listado cada cotnato de cada pessoa), ele só lista uma linha (row), mesmo quando tem mais de uma.

Este é apenas o trecho referente a isso:

<?php

// consulta o banco de dados e mostra "bibliografia" relacionada com o artigo

$query = "SELECT * FROM derock_artigos_biblio WHERE artigo=$id";

$result = mysql_db_query ($dbname, $query, $link);

mysql_db_query ($dbname, $query, $link);

while ($row = mysql_fetch_array($result)) {

$biblio_tipo = $row[tipo]; // tipo do contato (Autor, + info etc.)

$contato_id = $row[contato];

print("<BR>$artigos_biblio_tipo_array[$biblio_tipo] - $row[id] - $row[artigo] - $row[tipo] - $row[contato]<BR>\n");

// consulta o banco de dados e mostra os contatos relacionados com a bibliografia

$query = "SELECT * FROM derock_contatos WHERE id=$contato_id";

$result = mysql_db_query ($dbname, $query, $link);

while ($row = mysql_fetch_array($result)) {

print("<BR>$row[nome]");

if ($row != $null)

{ print(" - <A HREF=\"mailto:$row\">$row</A>"); }

if ($row[site] != $null)

{ print(" - <A HREF=\"http://$row[site]\">http://$row[site]</A>"); }

if ($biblio_tipo =! 1) {

if ($row[endereco] != $null)

{ print("<BR>Endereço: $row[endereco]."); }

if ($row[cidade] != $null)

{ print("<BR>$row[cidade] / "); }

if ($row[estado] != $null)

{ print("$row[estado] / "); }

if ($row[pais] != $null)

{ print("$row[pais]"); }

if ($row[telefone1] != $null)

{ print("<BR>Telefone(s): $row[telefone1]"); }

if ($row[telefone2] != $null)

{ print("/ $row[telefone2]"); }

}

}

}

?>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
E não esqueça das aspas exemplo : $row["tipo"]

entre no seu php.ini e ache a linha display_erros off deixe em display_erro on

reinicie o apache e teste seu script wink.gif

ate mais

Dessa maneira você irá fazer scripts limpos e sem nenhum erro = )

e 100% funcionando.

valeuw

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Tiago Passos

sad.gif tentei fazer o q foi sugerido (mudar a variavel $row dentro do loop while) e colocar aspas no índice do array ($row["nome"]), e não funcionou. Estou colando o codigo novamente (agora com a formatação correta) pra ver se alguém pode me ajudar. Sinta-se livre para alterar o codigo como quiser.

  // consulta o banco de dados e mostra "bibliografia" relacionada com o artigo

  $query = "SELECT * FROM derock_artigos_biblio WHERE artigo=$id";

  $result = mysql_db_query ($dbname, $query, $link);

  mysql_db_query ($dbname, $query, $link);

  while ($row = mysql_fetch_array($result)) {

      $biblio_tipo = $row["tipo]; // tipo do contato (Autor, + info etc.)

      $contato_id = $row["contato"];

      print("<BR>$artigos_biblio_tipo_array[$biblio_tipo] - $row[id] - $row[artigo] - $row[tipo] - $row[contato]<BR>\n");

      // consulta o banco de dados e mostra os contatos relacionados com a bibliografia

      $query = "SELECT * FROM derock_contatos WHERE id=$contato_id";

      $result = mysql_db_query ($dbname, $query, $link);

      while ($row2 = mysql_fetch_array($result)) {

        print("<BR>$row2[nome]");

        if ($row2 != $null)

            { print(" - <A HREF=\"mailto:$row2\">$row2</A>"); }

        if ($row2[site] != $null)

            { print(" - <A HREF=\"http://$row2[site]\">http://$row2[site]</A>"); }

        if ($biblio_tipo =! 1) {

            if ($row2[endereco] != $null)

              { print("<BR>Endereço: $row2[endereco]."); }

            if ($row2[cidade] != $null)

              { print("<BR>$row2[cidade] / "); }

            if ($row2[estado] != $null)

              { print("$row2[estado] / "); }

            if ($row2[pais] != $null)

              { print("$row2[pais]"); }

            if ($row2[telefone1] != $null)

              { print("<BR>Telefone(s): $row2[telefone1]"); }

            if ($row2[telefone2] != $null)

              { print("/ $row2[telefone2]"); }

        }

      }

  }

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,3k
    • Posts
      652,2k
×
×
  • Criar Novo...