Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou com uma duvida de como exibir os amigos de uma pessoa em PHP, estou fazendo um consulta SQL assim:
SELECT * FROM friends WHERE profile1 = '".$_SESSION['UserID']."'
até ai tudo bem, na tabela tem uma coluna profile1 com o id do usuario q mandou o convite e o profile2 com o id do usuario q recebeu o convite, mas minha duvida é tipo, quando o usuario logado está no profile2, como fazer para listar os amigos dele, tipo ele tem uma lista de amigos grande e ele está tanto no profile1 em alguns casos e profile2 em outros, quero que todos os amigos dele fique em 1 array e exiba tudo de uma vez só
Usa "or" no sql.
Cara olha eu não entendi mto bem, mas pelo q eu vi vc ta tentando fazer com que os amigos q estiverem online apareçam primeiro neh? Se for isso é só vc criar um campo na tabela do seu DB do tipo ENUM e colocar on e off, ai sempre que um usuário logar no sistema vc usa o UPDATE e muda pra on na tabela e quando vc for puxar os amigos usa o WHERE e puxa só os que estiverem com o status ON
Era essa a dúvida?? Se não for explica melhor pra gente tentar ajudar
Abraço
desculpa eu nau consegui explicar direito, vou tentar de novo. no banco de dados tenho uma tabela que tem as colunas ID, profile1, profile2 e data de inicio da amizade, ai eu quero q quando um usuário entrar no sistema exiba uma lista com todos os amigos dele, nesse caso o sistema vai usar a relação de profile1 com profile2, só que se o usuario que está exibindo a lista de amigos for quem enviou o pedido de amizade ele vai está no profile1, mas se ele que recebeu o pedido ele vai está no profile2, eu queria pegar o id de todos os amigos dele independente ser está no profile1 ou profile2. eu poderia usar o OR na consulta SQL, mas quando eu não saberia colocar os dados da tabela profile1 e profile2 no mesmo array. eu uso o mysql_fetch_assoc para pegar os valores da consulta. resumindo eu queria algo que verifica onde na tabela profile1 ou profile2 tenha o ID do usuario logado no momento e pegasse o ID de todos os seus amigos e colocasse tudo em unico array com todos os IDs.
não sei se fui muito claro, mas qualquer coisa tento explicar melhor
Acho que saquei, a primeira coisa que vc vai ter q fazer é criar uma session para salvar a id do usuário logado e ai vc faz a consulta no mysql da seguinte forma
//PEGA O ID DO USUÁRIO LOGADO E SALVA NA VARIÁVEL $ID_USUARIO
$id_usuario = $_SESSION['id'];
//BUSCA NO BANCO DE DADOS TODAS AS LINHAS ONDE PROFILE1 OU PROFILE2 SEJAM IGUAIS A $ID_USUARIO
$buscar = mysql_query("SELECT * FROM tb_profiles WHERE profile1 OR profile2 = '$id_usuario'");
//PUXA TODAS AS LINHAS E INSERE DENTRO DO ARRAY $DADO
while($dado=mysql_fetch_assoc($buscar)){
//VERIFICA SE O USUÁRIO LOGADO ESTA NO PROFILE1 OU SE ESTA NO PROFILE2
if($dado['profile1'] == $id_usuario){
echo $dado['profile2'];
}else{
echo $dado['profile1'];
}
}
Cara eu não sei se era isso que você queria, mas qualquer coisa fala ai que a gente tenta de novo.
Abraço
cara, vlw msm, ajudou muito, e sinceramente, me sinto um idiota de não ter pensando nisso antes, agr parece tão simples, mas brigadão msm
Cara,
Precisa ser um pouco mais claro para podermos ajudar. Se possível, fale mais sobre o BD. De qualquer forma, um simples OR no sql não resolve o seu caso?