manoaj 12 Denunciar post Postado Dezembro 16, 2012 pessoal to com uma duvida aqui , assim eu tenho uma tabela que vai servir pra vericar a se os usuarios do meu site são amigos e nessa tabela eu tenho os campos user_amigo , user_recept e status_amigo. o campo user_amigo é o campo que vai receber o id do suario que enviou a solicitação de amizade e o campo user_recept é o campo do usuario que vai aceitar ou não essa amizade e o campo status_amigo é o campo que fala se o user_amigo é amigo ou não do user_recept. ai o que eu quero faser e não estou conssguindo é o seguinte quero motar algo para verificar se o usuario que esta vendo o perfil do outro no caso o usuario que esta logadoe vendo o perfil de outro é ou não amigo daquela pessoa , se o usuario for amigo daquela pessoa exibe o link remover amizade , se o usuario não for amigo daquela pessoa exibe o link adicionar aos amigos, no caso eu to pegando os ids dos usuarios um por session que é o id do usuario que esta logado e o outro id por um get que no caso é o id do perfil do usuario que esta sendo visualizado. como eu faço pra colocar isso aqui em pratica :ermm:se o usuario for amigo daquela pessoa exibe o link remover amizade , se o usuario não for amigo daquela pessoa exibe o link adicionar aos amigos, Compartilhar este post Link para o post Compartilhar em outros sites
Vitor Ferrari 1 Denunciar post Postado Dezembro 16, 2012 Cara você ta fazendo uma rede social né, já vi uns 5 tópicos seus com dúvidas parecidas com coisas de rede soiciais; Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 16, 2012 Cara você ta fazendo uma rede social né, já vi uns 5 tópicos seus com dúvidas parecidas com coisas de rede soiciais; não é um site normal só que ai eu quero que ele fique tipo o forum aqui pra ter mais interação com os usuarios ai nãoq uero pegar nem ipb nem um script pronto pq como to aprendendo agora e to fasendo curso de web ai eu to fasendo o site eu mesmo kkkk as duvidas são em relação a redes sociasi pq o forum é quase uma rede seila kkk mecho com rede social não coisa de doido aquilo kkk Compartilhar este post Link para o post Compartilhar em outros sites
Vitor Ferrari 1 Denunciar post Postado Dezembro 16, 2012 Lek faz o site normal e faz um forum com phpbb então, é mais fácil e é exatamente oque vocÊ quer! Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 16, 2012 Lek faz o site normal e faz um forum com phpbb então, é mais fácil e é exatamente oque vocÊ quer! não mano você não intendeu o que eu realmente quero é aprender e montando esse site eu consseguir isto porisso quero fazer desta forma , assim eu aprendo mais facil :D tudo se resume em pratica ! pratica e mais pratica! nenão :D :ermm: Compartilhar este post Link para o post Compartilhar em outros sites
Gui0 2 Denunciar post Postado Dezembro 17, 2012 cara para verificar se é amigo ou não, você pode realizar uma consulta na tabela status_amigo e enviar o id do usuario logado e do usuário que ele está visualizando o perfil. Caso retorne algum valor então eles são amigos, logo você exibe o link de remover amizade. Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 17, 2012 cara mas tem a questão dele estar aceito como amigo ou não pq a tabela status serviria para isso onde os valores seriam pendente e aprovado ai é que tá o problema , pq tem qeu consultar se existe e qual o status só que não se de que forma faser todas essas verificações. Compartilhar este post Link para o post Compartilhar em outros sites
Gui0 2 Denunciar post Postado Dezembro 17, 2012 cara mas tema questão dele estar aceito como amigo ou não pq a tabela status serviria para isso onde os valores seriam pendente e aprovado ai é que tá o problema , pq temq eu consultar se existe e qual o status só que não se de que forma faser todas essas verificações. Eu não entendi bem o que você quis dizer, tem como postar a estrutura da tabela? Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 17, 2012 Eu não entendi bem o que você quis dizer, tem como postar a estrutura da tabela? tipo de que forma eu faço esse select pra verificar se a pessoa que eu to visualizando é meu amigo e se o status estA aprovado ou não pq se o status não estiver aprovado ela não deve aparecer como amigo . CREATE TABLE IF NOT EXISTS `amigos` ( `user_amigo` text NOT NULL, `user_recept` text NOT NULL, `status_amigo` enum('pendente','aprovado') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Compartilhar este post Link para o post Compartilhar em outros sites
Gui0 2 Denunciar post Postado Dezembro 17, 2012 tipo de que forma eu faço esse select pra verificar se a pessoa que eu to visualizando é meu amigo e se o status estA aprovado ou não pq se o status não estiver aprovado ela não deve aparecer como amigo . CREATE TABLE IF NOT EXISTS `amigos` ( `user_amigo` text NOT NULL, `user_recept` text NOT NULL, `status_amigo` enum('pendente','aprovado') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Eu não sei como está estruturado seu código mais você pode fazer assim: SELECT status_amigo FROM amigos WHERE user_amigo = '{$id_solicitante}' AND user_recept = '{$id_receptivo}'; Se retornar nenhuma linha quer dizer que ele não é amigo e nem tem uma solicitação pendente. Caso retorne status_amigo = pendente, quer dizer que ele adicionou o usuário porém ele não aceitou ainda. Caso retorne status_amigo = aprovado, quer dizer que eles são amigos. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Dezembro 17, 2012 Acho que status_amigo não é um nome com o significado apropriado pro que a tabela faz. Veja, se você já tem uma tabela de requisições, o que vai para status_amigo devem ser as aprovações. friendship_request Requester é uma chave estrangeira apontando para o id de usuario Asked é uma chave estrangeira apontando para o id de usuario Ambos os campos constituem um índice do tipo UNIQUE Quando um usuário visita um perfil, é feita uma consulta para verificar se já existe a requisição de amizade. Sendo $user_id o ID do usuário logado e $profile_id o ID do perfil visitado, fica assim: select count(asked) from friendship_request where requester = $user_id and asked = $profile_id 0 resulta em não solicitado e 1 resulta em solicitado. friendship User é uma chave estrangeira apontando para o id de usuario Friend é uma chave estrangeira apontando para o id de usuario Ambos os campos constituem um índice do tipo UNIQUE Para verificarmos se já existe a amizade, a consulta é muito similar select count(friend) from friendship where user = $user_id and friend = $profile_id Novamente, 0 resulta em não amigos e 1 resulta em amigos. Toda e qualquer outra alteração no vínculo de amizade deve se dar por outra tabela. Exemplos são pedido de amizade não aceito, vínculo de amizade desfeito, usuário bloqueado, vínculos familiares entre outros. Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 17, 2012 Acho que status_amigo não é um nome com o significado apropriado pro que a tabela faz. Veja, se você já tem uma tabela de requisições, o que vai para status_amigo devem ser as aprovações. friendship_request Requester é uma chave estrangeira apontando para o id de usuario Asked é uma chave estrangeira apontando para o id de usuario Ambos os campos constituem um índice do tipo UNIQUE Quando um usuário visita um perfil, é feita uma consulta para verificar se já existe a requisição de amizade. Sendo $user_id o ID do usuário logado e $profile_id o ID do perfil visitado, fica assim: select count(asked) from friendship_request where requester = $user_id and asked = $profile_id 0 resulta em não solicitado e 1 resulta em solicitado. friendship User é uma chave estrangeira apontando para o id de usuario Friend é uma chave estrangeira apontando para o id de usuario Ambos os campos constituem um índice do tipo UNIQUE Para verificarmos se já existe a amizade, a consulta é muito similar select count(friend) from friendship where user = $user_id and friend = $profile_id Novamente, 0 resulta em não amigos e 1 resulta em amigos. Toda e qualquer outra alteração no vínculo de amizade deve se dar por outra tabela. Exemplos são pedido de amizade não aceito, vínculo de amizade desfeito, usuário bloqueado, vínculos familiares entre outros. A ENTENDI ETÃO QUER DISER A QUE AS APROVAÇÕES FICARIAM EM OUTRA TABELA JUNTO COM OUTRAS INFORMAÇÕES COMO BLOQUEIO E ETC? Acho que status_amigo não é um nome com o significado apropriado pro que a tabela faz. Veja, se você já tem uma tabela de requisições, o que vai para status_amigo devem ser as aprovações. friendship_request Requester é uma chave estrangeira apontando para o id de usuario Asked é uma chave estrangeira apontando para o id de usuario Ambos os campos constituem um índice do tipo UNIQUE Quando um usuário visita um perfil, é feita uma consulta para verificar se já existe a requisição de amizade. Sendo $user_id o ID do usuário logado e $profile_id o ID do perfil visitado, fica assim: select count(asked) from friendship_request where requester = $user_id and asked = $profile_id 0 resulta em não solicitado e 1 resulta em solicitado. friendship User é uma chave estrangeira apontando para o id de usuario Friend é uma chave estrangeira apontando para o id de usuario Ambos os campos constituem um índice do tipo UNIQUE Para verificarmos se já existe a amizade, a consulta é muito similar select count(friend) from friendship where user = $user_id and friend = $profile_id Novamente, 0 resulta em não amigos e 1 resulta em amigos. Toda e qualquer outra alteração no vínculo de amizade deve se dar por outra tabela. Exemplos são pedido de amizade não aceito, vínculo de amizade desfeito, usuário bloqueado, vínculos familiares entre outros. agora uma duvida só pra confirma uma coisa sobre a aprovação da amizade . deposi de verificar se existe o pedido eu vo faser um select mas dessa vez pra informar pro usuario quem fez o pedido ate ai tudo bem , de pois que eu informei quem fez o pedido a confirmação se daria pela seguinte maneira , se o usuario foi aceito como amigo eu vou adicionar uma ação que vai inserir um registro com os respectivos ids dos dois usuarios na tabela de aprovações caso o usuario recuse eu apago o registro na tabela solicitações e caso usuario já tennha a amizade com o outro usuario eu apago o registro em solicitações e apago registro em aprovações , a logica ta certa? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Dezembro 17, 2012 A ENTENDI ETÃO QUER DISER A QUE AS APROVAÇÕES FICARIAM EM OUTRA TABELA JUNTO COM OUTRAS INFORMAÇÕES COMO BLOQUEIO E ETC? agora uma duvida só pra confirma uma coisa sobre a aprovação da amizade . deposi de verificar se existe o pedido eu vo faser um select mas dessa vez pra informar pro usuario quem fez o pedido ate ai tudo bem , de pois que eu informei quem fez o pedido a confirmação se daria pela seguinte maneira , se o usuario foi aceito como amigo eu vou adicionar uma ação que vai inserir um registro com os respectivos ids dos dois usuarios na tabela de aprovações caso o usuario recuse eu apago o registro na tabela solicitações e caso usuario já tennha a amizade com o outro usuario eu apago o registro em solicitações e apago registro em aprovações , a logica ta certa? Depende se você quer que, quando a amizade seja desfeita, recusada, etc, quem iniciou o pedido seja notificado. Se eu recuso o pedido, e você remove o pedido do DB, eu fico hábil a receber novamente o pedido da pessoa a quem recusei. Isso cria um ciclo que o requisitante vai insistindo até que eu aceite. O mesmo acontece para a remoção. Se eu remover a amizade e for permitido solicitar novamente, pode haver essa insistência chata. Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 17, 2012 Depende se você quer que, quando a amizade seja desfeita, recusada, etc, quem iniciou o pedido seja notificado. Se eu recuso o pedido, e você remove o pedido do DB, eu fico hábil a receber novamente o pedido da pessoa a quem recusei. Isso cria um ciclo que o requisitante vai insistindo até que eu aceite. O mesmo acontece para a remoção. Se eu remover a amizade e for permitido solicitar novamente, pode haver essa insistência chata. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ta certo então . muito obrigado Evandro Oliveira obrigado mesmo me ajudou d+ d+ d+ tu é fera manow :clap: Compartilhar este post Link para o post Compartilhar em outros sites