Php 扭曲的社交网络墙代码逻辑

Php 扭曲的社交网络墙代码逻辑,php,mysql,codeigniter,Php,Mysql,Codeigniter,目标是: 从墙中拉出构件 -如果两个好友共享相同的成员关系,则显示流 下表: 朋友 墙柱 使用者 教友 表结构: 朋友表: - id, node1id, node2id 墙柱: - entryData - postingUserId 用户: - userpid - username - firstname - lastname 教会成员: - churchid - userid 我如何将上述要求转化为代码 更新: 选择与用户登录所连接的丘吉尔ID相同的所有行$churchId='1'

目标是:

从墙中拉出构件 -如果两个好友共享相同的成员关系,则显示流

下表:

  • 朋友
  • 墙柱
  • 使用者
  • 教友
表结构:

朋友表:

- id, node1id, node2id
墙柱:

- entryData
- postingUserId
用户:

- userpid
- username
- firstname
- lastname
教会成员:

- churchid
- userid
我如何将上述要求转化为代码

更新:

选择与用户登录所连接的丘吉尔ID相同的所有行
$churchId='1'

SELECT * FROM churchMembers WHERE  cMchurchId = $churchId
if $row-cMchurchId == $churchId
    SELECT * FROM churchMembers, users WHERE churchMembers.cMuserId = users.userid

这应该让你开始:

$friendId = 5;

$sql = "select w.entryData from wallposts w
        inner join church_members cm 
          on cm.userid = w.postingUserId
        where cm.churchid = 
          (SELECT churchid from church_members where userId='" + $friendId + "'");
好的,如果这些是friends表中的userid,您可以这样做:

select w.entryData from friends f
inner join church_members cm on f.node2id = cm.userid  //<--friends church
inner join church_members cm2 on f.node1id = cm2.userid //<-- my church
inner join wallposts w on w.postingUserId = f.node2Id //<-- grab the friends wallposts
inner join users u on f.node2id = u.userpid //<-- grab the user data
where cm2.church_id = cm.church_id //<-- they got's to be the same :)
选择w.entryData from friends f

在f.node2id=cm.userid/上内部加入church_成员cm这应该让您开始:

$friendId = 5;

$sql = "select w.entryData from wallposts w
        inner join church_members cm 
          on cm.userid = w.postingUserId
        where cm.churchid = 
          (SELECT churchid from church_members where userId='" + $friendId + "'");
好的,如果这些是friends表中的userid,您可以这样做:

select w.entryData from friends f
inner join church_members cm on f.node2id = cm.userid  //<--friends church
inner join church_members cm2 on f.node1id = cm2.userid //<-- my church
inner join wallposts w on w.postingUserId = f.node2Id //<-- grab the friends wallposts
inner join users u on f.node2id = u.userpid //<-- grab the user data
where cm2.church_id = cm.church_id //<-- they got's to be the same :)
选择w.entryData from friends f

内部加入教会成员cm on f.node2id=cm.userid//您将其标记为codeigniter,您有任何代码向我们展示您的尝试吗?好的。我更新了它。我只是在胡闹。这是一段伪代码,不是真的。我想我在第一条sql语句中得到了它,但我需要能够从用户表中提取数据,该表与匹配cMchurchId=$churchId的church关系关联。cMuserId是用成员行标识用户的内容。如果cMchurchId=$churchId对于任何用户都等于true,我还需要显示WallPost中的所有行。正如你所知,这有点复杂。你知道连接吗?是的,我喜欢。这对我来说太复杂了,我想不出我可以使用左连接来满足这些需求吗?你给它贴上了codeigniter标签,你有没有代码可以让我们看看你尝试了什么?好的。我更新了它。我只是在胡闹。这是一段伪代码,不是真的。我想我在第一条sql语句中得到了它,但我需要能够从用户表中提取数据,该表与匹配cMchurchId=$churchId的church关系关联。cMuserId是用成员行标识用户的内容。如果cMchurchId=$churchId对于任何用户都等于true,我还需要显示WallPost中的所有行。正如你所知,这有点复杂。你知道连接吗?是的,我喜欢。这对我来说太复杂了,我想不出我可以使用左连接来满足这些要求吗?对不起,我对这个lol有点陌生,所以对于cm.node2id=users.userpid上的
,我需要添加内部连接或将其添加到where?对不起,我对这个lol有点陌生,因此,对于cm.node2id=users.userpid上的
,我需要添加内部连接或将其添加到where?