Jsabino 0 Denunciar post Postado Setembro 10, 2014 Como sera que e feito a pesquisa de amigos em comum como no facebook, ou como ele busca e identifica que estas pessoas podem ser conhecidas, como e feito esse select alguém tem alguma ideia Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 10, 2014 Isso não é um select, com certeza são utilizadas várias técnicas (redes neurais, data mining, etc...). Usando um pouco de lógica daria pra assumir algumas questões básicas, como por exemplo, amigos de amigos que frequentam os mesmos lugares que eu, existe uma grande chance de os conhecer, etc... Óbvio que isto é apenas uma das inúmeras possibilidades para tentar "adivinhar" pessoas que talvez eu conheça. Compartilhar este post Link para o post Compartilhar em outros sites
titocrf 1 Denunciar post Postado Setembro 10, 2014 ESerra disse tudo. Se meus dados batem em um devido local e os da outra pessoa também, já temos isso em comum. Você poderia tentar criar um sisteminha assim... cria um campo ou uma tabela "Referencia" no cadastro, sei lá, e quando o usuário fizer o cadastro no sistema, esse campo irá receber "null". Agora quando ele for curtir por exemplo a página do "forum imasters", ai ele recebe "imasters". Depois, cria uma página com o nome sei lá "Coisas em comum"... lá você faz um select e compara esse campo "Referencia" com num_rows, while, ..... enfim, exibe o usuário que tiver os dados em comum. Acho que é daí já surge as idéias rs. Tenta ai amigão, boa sorte ai no desenvolvimento. Qualquer dúvida posta ai p/ gente ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 10, 2014 O select depende do modelo de dados (se for sql puro) a teoria matemática que comtempla isto é a Teoria dos Grafos , a algum tempo atrás vi esta discussão veja se ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
lucas.messias 0 Denunciar post Postado Março 12, 2015 È muito simples meu amigo :) quando você entra em um perfil do seu amigo, o facebook faz uma busca dos amigos desta pessoa, quando ele termina a pesquisa, ele pega o resultado e ver se esses amigos dele tambem é amigos seus... eu tinha acabado de fazer essa logica quando vi este post!!! Como um bom colaborador eu vou disponibilizar o codigo, é bem simples!!! Primeiro vamos criar a tabela( ops: estou utilizado o postgresql, mais creio eu que tambem ira funcionar no mysql caso você esteja utilizando ele): CREATE TABLE amizades( id serial NOT NULL, pessoa1 character varying(40) COLLATE pg_catalog."pt_BR" NOT NULL, pessoa2 character varying(40) NOT NULL, CONSTRAINT key PRIMARY KEY (id)) Explicação: a tabela ira ter 3 campos, pois esse é o fudamental, se você quizer acrescentar mais um campo fique avontade, na minha tabela original tem mais campos, mais esse é o basico para você entender. Campo id: campo padrão que armazena uma contagem de numeros para cada novo registro. Campo pessoa1: fica o nome da primeira pessoa(ex: João). Campo pessoa2: fica o nome da segunda pessoa(ex: Maria). Vamos colocar alguns registros: 'lucas' vai ser o amigo atual, e 'carol' a amiga que o sistema ira verificar se tem amigos em comum com o 'lucas' não importa a ordem dos nomes, o sistema irar pegar todos os amigos desta pessoa caso o nome dela esteja no campo 'pessoa1' ou no campo 'pessoa2'; (Amigos de 'lucas') insert into amizades (pessoa1, pessoa2) values ('lucas','carol'); insert into amizades (pessoa1, pessoa2) values ('bruna','lucas'); insert into amizades (pessoa1, pessoa2) values ('lucas','fernanda'); insert into amizades (pessoa1, pessoa2) values ('lucas','kety perry'); (Amigos de 'carol') insert into amizades (pessoa1, pessoa2) values ('carol','kety perry'); insert into amizades (pessoa1, pessoa2) values ('bruna','carol'); insert into amizades (pessoa1, pessoa2) values ('Lorde','carol'); So de observar da pra perceber que so tem 2 amigos em comun. então agora vem o codigo sql: select id,pessoa1,pessoa2 from amizades wherepessoa1 = 'lucas' andpessoa2 in( select pessoa2 from amizades where pessoa1 = 'carol' or pessoa2 = 'carol' ) and pessoa2 != 'carol' orpessoa1 = 'lucas' andpessoa2 in( select pessoa1 from amizades where pessoa1 = 'carol' or pessoa2 = 'carol' ) and pessoa2 != 'carol'union select id,pessoa1,pessoa2 from amizades wherepessoa2 = 'lucas' andpessoa1 in( select pessoa1 from amizades where pessoa1 = 'carol' or pessoa2 = 'carol' ) and pessoa1 != 'carol' orpessoa2 = 'lucas' andpessoa1 in( select pessoa2 from amizades where pessoa1 = 'carol' or pessoa2 = 'carol' ) and pessoa1 != 'carol' no codigo sql acima você troca o nome 'lucas' pela primeira pessoa que você que verificar, e o nome 'carol' pela pessoa que o sistema irar buscar os amigos em comum!!! Compartilhar este post Link para o post Compartilhar em outros sites