2012-02-06 59 views
0

我真的很感激,如果你可以给我一个方法或对如何解决我的问题的想法:搜索一个MySQL表通过另一台

我有一个包含我的用户喜欢的姓名,电子邮件信息的表.....等等。和行的id像1,2,3(自动增量)。

而且来检查,如果第一件是第二部件的朋友另一个表,它是这样:MEM1 ID,MEM2 ID,添加日期,行的ID ...等

我想拍一个什么规律HTML表单,让他的用户搜索他的朋友。就像杰克输入他朋友约翰的名字一样,根据第二张表,他会得到约翰是否是他的朋友。

我会很快乐,如果有人能帮助我,我真的很高兴..

回答

0

这可以用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' 

假设你已经知道了当前用户的ID,你可以把它简化:

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 

此查询应该从表中获取所有的朋友的名字和用户ID。只需将结果渲染为json并使用ajax来获取它。看看自动完成对jQuery UI的 http://jqueryui.com/

0

使用Ajax:当用户进入第一个值,做php脚本异步调用将在数据库中的数据搜索和返回结果。

+0

哦,对不起,我的错! ; ) – maialithar 2012-02-06 16:40:17