以下の3つのテーブルから、次の選択肢を取得します
。1.)すべてのアイテムを選択し、特定のユーザーごとにcollaboration
グループ化しgroup_id
ます。
これは、ユーザーがログインすると、すべてのアイテムが表示されることを意味します。 (そして唯一の)彼がグループメンバーであるグループに属するアイテム。
2.)それぞれについて、すべてのコラボレーションアイテムを選択します。
これは、ユーザーが上記の1から任意のグループ()を選択すると、選択したグループ( )に属するすべてのアイテムが表示されることを意味します。group_members
collaboration
group_id
group_id
collaboration
group_id
制約:各ユーザーはグループメンバーである必要があります。users
テーブルは、ユーザーの供給firstname
と提供のためにlastname
あります。
これは私が1から無駄にしようとしたことです!
関数OrderByGroup_id($ username){ $ data = array(); $ currenttime = time(); $ q = " 選択する * コラボレーションから INNER JOIN group_members ON Collaboration.group_id = group_members.group_id ユーザーの内部参加users.username=group_members.username WHERE Collaboration.parent_id IS NULL and Collaboration.is_comment = 0 AND group_members.username =:コラボレーションによるユーザーグループ.group_id "; $ sq = $ this-> connection-> prepare($ q); $ sq-> execute(array(':user' => $ username)); while($ row = $ sq-> fetch()){ $ json = array(); $ json ['title'] = $ row ['title']; $ json ['question'] = $ row ['content']; $ json ['firstname'] = $ row ['firstname']; $ json ['lastname'] = $ row ['lastname']; $ json ['timestamp'] = $ row ['timestamp']; $ json ['key'] = $ row ['group_id']; $ data [] = $ json; } $ allposts = json_encode($ data); $ allposts = json_decode($ allposts、true);を返します。 }
これが表です
存在しない場合はテーブルを作成`コラボレーション`( `id` int(11)NOT NULL AUTO_INCREMENT、 `parent_id` int(11)DEFAULT NULL、 `group_id` varchar(255)DEFAULT NULL、 `author` varchar(30)NOT NULL、 `title` varchar(255)DEFAULT NULL、 `content`テキストNOTNULL、 `is_comment` tinyint(1)unsigned NOT NULL、 `file` tinyint(1)unsigned NOT NULL DEFAULT '0'、 `points` int(11)DEFAULT NULL、 `timestamp` int(11)NOT NULL、 主キー( `id`) )ENGINE = InnoDB DEFAULT CHARSET = utf8;
存在しない場合はテーブルを作成する`users`( `firstname` varchar(30)NOT NULL、 `lastname` varchar(30)NOT NULL、 `username` varchar(30)NOT NULL、 主キー( `username`) )ENGINE = InnoDB DEFAULT CHARSET = utf8;
存在しない場合はテーブルを作成`group_members`( `id` int(11)NOT NULL AUTO_INCREMENT、 `username` varchar(30)NOT NULL、 `group_id` varchar(50)NOT NULL、 `status` tinyint(1)unsigned NOT NULL、 `timestamp` int(11)NOT NULL、 主キー( `id`) )ENGINE = InnoDB DEFAULT CHARSET = utf8;
ご入力いただきありがとうございます。