我有朋友表,其中存有两个朋友的ID。当我查询时,让我们说我的朋友,是否有一种简单的方法可以从用户表中获取朋友的名字?我使用PHP和MySQL,表没有通过外键连接,但我想我可以连接它们(使用Navicat)。
我的查询:
session_start();
if(isset($_SESSION['valid_user']))
{
$currentuser= $_SESSION['valid_user'];
}
$friendships= mysql_query("SELECT * FROM friends WHERE Person1 = '$currentuser' OR Person2 = '$currentuser' ");
while($row = mysql_fetch_assoc($friendsips))
{
if ($row['Person1'] == $currentuser) echo $row['Person2']; // quering the users name from here is hard and long thing to do
if ($row['Person2'] == $currentuser) echo $row['Person1'];
}
朋友(friendshipID,Person1,Person2)
用户(身份证,姓名,姓氏)
答案 0 :(得分:0)
假设表结构为:
用户: userid,名称
朋友: friendship_id,userid_1,userid_2
SELECT name
FROM Friends F JOIN Users U ON (F.userid_2 = U.userid)
WHERE userid_1 = X
编辑: 如果你想获得这两个名字,你可以使用它。
SELECT
U1.name as name1 , U2.name as name2
FROM
Friends F
JOIN Users U1 ON (F.userid_1 = U1.userid)
JOIN Users U2 ON (F.userid_2 = U2.userid)
WHERE
userid_1 = X
您可以调整where子句以查询用户ID。