我有 2 张桌子
members
=======
id
f_name // get these values.
l_name
email
friends
=======
to
from
用户的 Id 是值 $member_id,如果它存在于“to”或“from”中,我希望它不返回该行的其他值,因此只显示非朋友。
我正在创建一个页面以允许成员搜索数据库以通过电子邮件或姓名添加他们的朋友。
我想返回朋友表的“to”或“from”列中没有用户 ID 记录的成员的所有行。
我知道如何做最基本的mysql,但连接对我来说是个问题,我真的不明白如何编写它们,如果有人可以帮助我,甚至可以解释一下,那就太好了!
My query now:
$query = "SELECT * FROM members WHERE f_name LIKE '%" . $word . "%' OR l_name LIKE '%" . $word . "%' OR mc_name LIKE '%" . $word . "%' OR email LIKE '%" . $word . "%' LIMIT 10";
//Where $word is the search term.
修改后的查询
SELECT * FROM members WHERE id NOT IN (SELECT to FROM friends WHERE frm=$member_id) AND $member_id NOT IN (SELECT frm FROM friends WHERE to=$member_id) AND f_name LIKE '%" . $word . "%' OR l_name LIKE '%" . $word . "%' OR mc_name LIKE '%" . $word . "%' OR email LIKE '%" . $word . "%' LIMIT 10