2012-02-06 5 views
0

Je voudrais vraiment l'apprécier si vous pouvez me donner une façon ou d'une idée sur la façon de résoudre mon problème:Rechercher une table MySQL via une autre table

J'ai une table qui contient mes utilisateurs des informations telles que le nom, email .....etc. Et l'id de la rangée ressemble à 1,2,3 (incrément automatique).

Et une autre table qui vérifie si le premier élément est un second membre ami, il va comme: id mem1, id mem2, date d'ajout, id de suite ... etc

Et ce que je veux faire régulièrement Formulaire HTML, qui permet à l'utilisateur de rechercher ses amis. Comme si Jack tapait le nom de son ami John, il obtient si John est son ami ou non selon la deuxième table.

Je serais vraiment heureux si quelqu'un peut me aider, je serais vraiment heureux ..

Répondre

0

Ceci peut être résolu avec un JOIN:

SELECT m2.name FROM member_relations AS f 
JOIN members AS m1 ON m1.id = f.mem1 
JOIN members AS m2 ON m2.id = f.mem2 
WHERE m1.name = 'Jack' AND m2.name = 'John' 

En supposant que vous connaissez déjà l'ID de l'utilisateur actuel, vous pouvez simplifier:

SELECT m.name FROM member_relations AS f 
JOIN members AS m ON m.id = f.mem2 
WHERE f.mem1 = {ID} AND m.name = 'John' 
0
SELECT users.name as friend_name, friends.friend_id as friend_id FROM 
users, (SELECT mem1 as friend_id FROM friends WHERE friends.mem1=$userid UNION SELECT mem2 as friend_id FROM friends WHERE friends.mem2=$userid) as user_friends 
WHERE user_friends.friend_id=users.id 

Cette requête doit chercher le nom et l'ID utilisateur de des tables de tous les amis. Rendez juste le résultat en json et utilisez ajax pour le récupérer. Utiliser la saisie semi-automatique sur jquery UI http://jqueryui.com/

0

Utiliser ajax: lorsque l'utilisateur saisit la première valeur, effectuez un appel asynchrone au script php qui recherchera les données dans la base de données et renverra les résultats.

+0

oh, désolé, mon erreur! ;) – maialithar

Questions connexes