Я пытался получить друзей для пользователей сеанса. Но у меня ничего не получается, или все это видят все.Получение данных из таблицы buddys, друзей и пользователей
Формат таблицы http://pastebin.com/XGYmpi5u
CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`first_name` varchar(32) NOT NULL,
`last_name` varchar(32) NOT NULL,
`email` varchar(1024) NOT NULL,
`active` int(11) NOT NULL DEFAULT '0',
`email_code` varchar(32) NOT NULL,
`avatar` varchar(55) NOT NULL,
`type` int(1) NOT NULL DEFAULT '0',
`protected` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
CREATE TABLE IF NOT EXISTS `feeds` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`user_id` int(6) NOT NULL,
`username` varchar(32) NOT NULL,
`body` text NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
CREATE TABLE IF NOT EXISTS `buddys` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`user_one` int(6) NOT NULL,
`user_two` int(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
Так что мой вопрос, как я могу получить данные пользователей, и каналы, которые они размещены и Buddys каналы. Где только пользователи, которые знакомы с приятелем, могут видеть только сообщения, которые они сделали никому другому.
Я попытался код:
$user_id = $_SESSION['user_id'];
if ($getquery = mysql_query("SELECT * FROM feeds f
INNER JOIN users u ON u.user_id = f.user_id
WHERE u.user_id = '$user_id' OR u.user_id IN
(SELECT b.user_one OR b.user_two FROM buddys b
WHERE b.user_one OR b.user_two = '$user_id')")){
Но что показывает правильные каналы пользователей, но и пользователя, который дружит с любым из друзей до сих пор можно увидеть сообщения.
Таблица пользователей и кормов имеет похожие столбцы.
+---+----------+
| ID | user_id |
+---+----------+
Хотя Buddys имеет
+----+----------+----------+
| ID | user_one | user_two |
+----+----------+----------+
Если таблицы имеют поля установлены как
+----+----------+---------+
| ID | user_one | user_two|
+----+----------+---------+
| 1 | 3 | 5 |
+----+----------+---------+
я хотел схватить его моим ID, если это 3 и получить каналы от пользователя ID 5.
Btw, я ищу, чтобы он был таким, как у Facebook/Twitter.
вы также можете разместить некоторые примеры записей и нужный результат в табличном формате? –
Не знаете, что вы подразумеваете под «результатом» –
[Увидите этот вопрос, чтобы понять, что я имею в виду под * образцами записей с желаемым результатом *] (http://stackoverflow.com/questions/15656273/mysql-pivot-table-column- data-as-rows/15656384) –