У меня есть 2 таблицы: одна с ответами, вторая с добавленными друзьями. Обе таблицы имеют поля идентификаторов друга (получателя) и постера ответа. Я внутренне присоединяюсь к этим таблицам на receive_id и add_friend, где имя пользователя в 'friends' равно $ _SESSION ['user'] (зарегистрированный человек). Все, что я получаю после запроса, это просто ответы (обе стороны видят их) и не может запросить ответ обратно (обе стороны не могут видеть ответы другой стороны), почему это так? Код кажется логичным ... Большое спасибо.
CREATE TABLE IF NOT EXISTS `friends` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(128) character set utf8 NOT NULL,
`added_friend` varchar(128) character set utf8 NOT NULL,
`friendname` varchar(128) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
--
CREATE TABLE IF NOT EXISTS `reply` (
`rep_id` int(11) NOT NULL auto_increment,
`reply_comm` text character set utf8 NOT NULL,
`reply_poster` varchar(128) character set utf8 NOT NULL,
`reply_poster_id` int(11) NOT NULL,
`receiver_name` varchar(128) character set utf8 NOT NULL,
`receiver_id` int(11) NOT NULL,
`reply_date` date default NULL,
PRIMARY KEY (`rep_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Структура выглядит так:
Таблица «Друзья»:
username | added_friend
=====================
mike | 10
rob | 20
Таблица «Ответить»:
reply_poster | receiver_id
=========================
mike | 20
rob | 10 <- added friend id
Команда PHP SQL выглядит так:
$repcheck2 = mysqli_query($connect,"SELECT * FROM reply INNER JOIN friends ON
receiver_id = added_friend WHERE username = '".$_SESSION['user']."' ORDER BY rep_id
DESC ");
Таким образом, обе стороны должны видеть ответы и сообщения при входе в систему ($ _SESSION ['user']), но не могут видеть ответы только по своим собственным ответам / комментариям. Большое спасибо ...