Php 获取用户在朋友之间的位置

Php 获取用户在朋友之间的位置,php,sql,codeigniter,Php,Sql,Codeigniter,我试图在用户和朋友之间获得一个用户位置,但我不知道如何才能做到这一点 我有两张桌子 表1:朋友(列出所有用户朋友的位置) 表2:用户(其中列出了所有用户) 我希望查询检查用户在其朋友之间的位置 因此,例如,如果我有ID 1(100个学分)和ID 2(21个学分)的朋友,查询会将我的职位列为1。您实际上没有提供关于表布局的太多信息,因此我不可能提供非常具体的示例。恐怕我也不太明白你的问题,但我会试一试 首先,我假设您的users表至少有以下列: id (PK) credits user (FK

我试图在用户和朋友之间获得一个用户位置,但我不知道如何才能做到这一点

我有两张桌子

表1:朋友(列出所有用户朋友的位置)

表2:用户(其中列出了所有用户)

我希望查询检查用户在其朋友之间的位置


因此,例如,如果我有ID 1(100个学分)和ID 2(21个学分)的朋友,查询会将我的职位列为1。

您实际上没有提供关于表布局的太多信息,因此我不可能提供非常具体的示例。恐怕我也不太明白你的问题,但我会试一试

首先,我假设您的users表至少有以下列:

id (PK)
credits
user (FK to users.id)
friend (FK to users.id)
并且朋友表有以下列:

id (PK)
credits
user (FK to users.id)
friend (FK to users.id)
现在,如果我理解了你的问题,你想根据用户的好友拥有多少积分对他们进行排名,因此:

SELECT u.id,u.credits
FROM friends AS f
JOIN users AS us ON f.friend = u.id
WHERE f.user = 1
ORDER BY u.credits DESC;

为了得到这个职位,我建议使用PHP,不要试图把它全部放在一个查询中。因此,获取一个排序列表,如Flimzy所述,并使用数组函数(如array_search)获取位置