Ir para conteúdo

POWERED BY:

Arquivado

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

Roberto Tercette

[Resolvido] Eliminar dados duplicados em array

Recommended Posts

Olá Pessoal!!

 

Estou com um problema:

 

Preciso fazer uma consulta do time dos meus amigos em um site que eu desenvolvi.

 

Então faço uma SELECT na tabela de relacionamentos, onde tenho:

 

----------------------------

MEU_ID | RELAÇÃO | ID_AMIGO|

----------------------------

1 | amigo | 2 |

----------------------------

1 | amigo | 3 |

----------------------------

1 | amigo | 4 |

----------------------------

1 | amigo | 5 |

----------------------------

 

Então, está definido que 2, 3, 4 e 5 são amigos de 1.

 

Agora eu vou na tabela de cadastro, onde tenho a informação do time que essa pessoa torce. No exemplo, digamos que:

 

------------------------

ID_AMIGO | TIME |

------------------------

2 | Palmeiras |

------------------------

3 | São Paulo |

------------------------

4 | Palmeiras |

------------------------

5 | Corinthians |

------------------------

 

 

Depois disso, faço um SELECT na tabela de times para além do nome, poder pegar os dados do time, onde tem Nome, Estádio, Fundação, etc.

 

O problema é que preciso mostrar os nomes do time sem repetir. Nesse exemplo acima, eu teria:

 

Palmeiras

São Paulo

Palmeiras

Corinthians

 

O time Palmeiras aparece duplicado, e na verdade não quero. Precisa aparecer uma vez só.

 

Utilizei array_unique() mas não funcionou.

 

Olhem o código como está:

 

<?
$consulta=mysql_query("SELECT * FROM {$CONFIG->dbprefix}entity_relationships where guid_one = '$_SESSION[guid]' having relationship = 'friend'"); 

while ($dados = mysql_fetch_array($consulta)) {

$consulta2=mysql_query("select times from {$CONFIG->dbprefix}users_entity where guid = '$dados[guid_two]'");

while ($dados2 = mysql_fetch_array($consulta2)) {

$unique = array_unique($dados2);

foreach($unique as $times){

$consulta3=mysql_query("SELECT nome_time FROM kt_times WHERE nome_time = '$times'"); 

while ($dados3 = mysql_fetch_array($consulta3)){

echo("<option value='".$dados3['nome_time']."'>".$dados3['nome_time']."</option>");
}
}
}
}
?>

Por favor me dêem uma mão nisso! Preciso muito!

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

Já resolvi. Ficou assim:

 

<?
$consulta=mysql_query("SELECT DISTINCT times FROM {$CONFIG->dbprefix}users_entity WHERE guid = any (SELECT guid_two FROM {$CONFIG->dbprefix}entity_relationships WHERE guid_one = '$_SESSION[guid]' and relationship = 'friend')"); 

while ($dados = mysql_fetch_array($consulta)) {

echo("<option value='".$dados['times']."'>".$dados['times']."</option>");

}

?>

Usei uma subquery! =D

 

Valeuu!!

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.