PHP:在一个表和另一个表中搜索
我正在制作一个自动提示功能,当用户在其存储的字段中写入内容时:PHP:在一个表和另一个表中搜索,php,mysql,Php,Mysql,我正在制作一个自动提示功能,当用户在其存储的字段中写入内容时: $queryString = $db->real_escape_string($_POST['queryString']); 我想让它在用户朋友之后自动提示。用户的朋友在users\u friends中,但只有朋友的ID。现在他们的全名在表“users”中。我想当你搜索它时,应该在用户中查找全名并检查它是否与用户有朋友关系 正如您所理解的,我并不希望我的所有用户都知道彼此的id,例如“52”“233”,而是搜索他们的全名 更
$queryString = $db->real_escape_string($_POST['queryString']);
我想让它在用户朋友之后自动提示。用户的朋友在users\u friends中,但只有朋友的ID。现在他们的全名在表“users”中。我想当你搜索它时,应该在用户中查找全名并检查它是否与用户有朋友关系
正如您所理解的,我并不希望我的所有用户都知道彼此的id,例如“52”“233”,而是搜索他们的全名
更新:
我知道你试过这样做:
$query=$db->query(“选择uf.bID
来自用户朋友,用户朋友
其中uf.uID='1'和uf.type='friend'以及friends.full_名称,如'$queryString%'限制为10;”
);
它从用户ID为1且是朋友的用户朋友中选择出价
现在我开始看到一些我认为的结果。当我写一个我的朋友的全名时,我得到了用户的id(存储在bID中的id)。现在我只需要在id=bID的“users”中获取全名
table: users
id | full_name
table: users_friends
id | uID | bID
因此,总结所有这些(试图做一个更好的总结,以便让您更好地理解:)
当您在搜索字段中键入例如Jack时,$queryString现在是“Jack”。然后,它取“Jack”(用户中的全名),抓取他的id(用户中的id),当然,若他存在的话,然后将其和出价(用户中的朋友)匹配,其中uID是$USER;($user是登录的当前用户的id。)
希望这更容易理解,如果有不清楚的地方,请留下评论。是否要同时从多个表中读取数据 从table1、table2中选择table1.id、table2.name,其中
我的英语不是很好,什么都懂:我不懂你的问题 但您可以使用以下查询:
mysql_query("SELECT * FROM table_one, table_two WHERE table_one.id = table_two.id");
所以,正如我所理解的,当前用户的id在$user中,查询字符串在$queryString中,你想要的是基于$queryString的用户朋友的名字,对吗 因此,假设数据库的模式如您所说:
table: users
id | full_name
table: users_friends
id | uID | bID
查看此查询是否适合您,然后:
SELECT users.full_name
FROM users INNER JOIN users_friends ON users.id=users_friends.uID
WHERE bID=$USER AND users.full_name LIKE '$queryString%'
LIMIT 10;
其中$USER和$queryString是您的变量。您使用的是什么数据库?MySQL?是的,MySQL和php编码