Jump to content


Photo

Duvida Sobre While Nao Funcionar Como Deveria


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

#1 Psikose

Psikose

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino

Posted 10/03/2011, 23:56

Bom gente, eu estou criando um código para indexar alguns parâmetros... E nao esta funcionando direito:

$query="SELECT `topic_id` , `thanks_from` , `thanks_id` , `thanks_date`
FROM `phpbb_thanks`
WHERE topic_id=$id
ORDER BY thanks_date";
$dados=mysql_query($query,$conn);

while ($result=mysql_fetch_array($dados))
{
$name=$result['thanks_from'];
}


$query2="SELECT `username` , `group_id`
FROM `phpbb_users`
WHERE user_id=$name";
$dados2=mysql_query($query2,$conn);


Dai dentro de uma tabela eu chamo a função: Por exemplo

<tr>
<td class="row1" width="50%" align="center">

<?
while ($result2=mysql_fetch_array($dados2))
{
?>
<font face="Arial" size="1">
<? echo utf8_encode($result2['username']); ?>
</font>
</td>
<?
}
?>
</tr>

Porém, o ultimo while que era pra indexar todos os usernames, so indexa o ultimo username da variavel $result, e nao todos os possiveis.

Alguem sabe oq eu devo fazer pra funcionar?

Agradeço desde ja

Edição feita por: Psikose, 10/03/2011, 23:59.


#2 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 22/03/2011, 16:57

se vc ja resolveu ?

$query="SELECT `topic_id` , `thanks_from` , `thanks_id` , `thanks_date`
FROM `phpbb_thanks`
WHERE topic_id=$id
ORDER BY thanks_date";
$dados=mysql_query($query,$conn);

while ($result=mysql_fetch_array($dados))
{
$name=$result['thanks_from'];
}


$query2="SELECT `username` , `group_id`
FROM `phpbb_users`
WHERE user_id=$name";
$dados2=mysql_query($query2,$conn);


Dai dentro de uma tabela eu chamo a função: Por exemplo

<tr>
<td class="row1" width="50%" align="center">

<?
while ($result2=mysql_fetch_array($dados2))
{
?>
<font face="Arial" size="1">
<? echo utf8_encode($result2['username']); ?>
</font>
</td>
<?
}
?>
</tr>

Porém, o ultimo while que era pra indexar todos os usernames, so indexa o ultimo username da variavel $result, e nao todos os possiveis.

Alguem sabe oq eu devo fazer pra funcionar?

Agradeço desde ja


Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#3 marcosfj1

marcosfj1

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino

Posted 22/03/2011, 17:57

Cara nao tenho ctz, mas acho que é por causa dessa parte do codigo

while ($result=mysql_fetch_array($dados))
{
$name=$result['thanks_from'];
}


$query2="SELECT `username` , `group_id` 
FROM `phpbb_users` 
WHERE user_id=$name";
$dados2=mysql_query($query2,$conn);


Vc faz com que todos os thanks_from vá para a variavel $nome, mas vc nao pode fechar o while tem q fechar somente depois de fazer a segunda query, assim a cada fez q o while correr o $name vai ter outro resultado para ser comparado e nao apenas um...acho q é por isso q na segunda query esta trazendo apenas um resultado pois a comparacao é feita somente em com um dado da variavel $name

Experimenta fechar o while depois da $query2

Falou
==================================================================
Quer conhecer um site Diferente?
FORA DA TELA
==================================================================




1 user(s) are reading this topic

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

IPB Skin By Virteq