Renato =) 0 Denunciar post Postado Agosto 19, 2008 Então, tenho uma tabela que indica os usuários que são amigos. ela possue 4 campos: ID, ID_UM, ID_DOIS e ACEITO ID é o ID da amizade; ID_UM é o id de quem enviou o pedido de amizade; ID_DOIS é o id de quem recebeu e ACEITO verifica se a amizade proposta já foi aceita. Na tabela de login, criei um campo chamado "ULT_LOG_ID", que serve para verificar os últimos usuários logados. Fiz uma query que pegava os amigos de certo ID, com um comando php ela ficou assim: $amigo = mysql_query("SELECT * FROM `amigos` WHERE (`ID_DOIS`='$perfil_id' OR `ID_UM`='$perfil_id') AND `ACEITO`='1'", $sql); $linha = mysql_fetch_array($amigo); $id_um = $linha['ID_UM']; $id_dois = $linha['ID_DOIS']; if($id_um == $perfil_id){ $id_amigo = $linha['ID_DOIS']; } if($id_dois == $perfil_id){ $id_amigo = $linha['ID_UM']; } Ela funciona certinho. Mas agora estava tentando fazer aparecer os últimos 5 amigos logados e não consegui. A idéia é fazer um relacionamento da tabela amigos e da tabela login... A consulta deveria pegar os IDs dos amigos da tabela (como na consulta acima) e relacionar com os IDs da tabela login, ordenando por ULT_LOG_ID decrescente. Obrigado pela atenção ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Agosto 19, 2008 Se entendi seu BD direto basta colocar outros OR junto de ID_DOIS, ID_UM e etc até CINCO. Certo? Mas pra lhe poupar código, se os ID's são números usei WHERE `campo` IN(1,2,3,4,5) Se for string até dá pra fazer colocando aspas entre as strings, mas isso é outra história. Compartilhar este post Link para o post Compartilhar em outros sites
Renato =) 0 Denunciar post Postado Agosto 20, 2008 consegui fazer uma query assim: SELECT amigos.ID_UM, amigos.ID_DOIS, amigos.ACEITO, login.ID, login.NICK, login.ULT_LOGH, login.ULT_LOGD, login.ULT_LOGID FROM amigos , login WHERE (amigos.ID_UM = login.ID AND amigos.ID_UM != $id) OR (amigos.ID_DOIS = login.ID AND amigos.ID_DOIS != $id) AND amigos.ACEITO = '1' GROUP BY login.ID ORDER BY login.ULT_LOGID DESC LIMIT 5 grandinho, mas funfou ^^" Compartilhar este post Link para o post Compartilhar em outros sites