以下の3つのテーブルから、次の選択肢を取得します
。1.)すべてのアイテムを選択し、特定のユーザーごとにcollaborationグループ化しgroup_idます。
これは、ユーザーがログインすると、すべてのアイテムが表示されることを意味します。 (そして唯一の)彼がグループメンバーであるグループに属するアイテム。
2.)それぞれについて、すべてのコラボレーションアイテムを選択します。
これは、ユーザーが上記の1から任意のグループ()を選択すると、選択したグループ( )に属するすべてのアイテムが表示されることを意味します。group_memberscollaborationgroup_idgroup_idcollaborationgroup_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;
ご入力いただきありがとうございます。