Доброго времени суток.
Пишу диалоги на сайте, и столкнулся с проблемой, точней с
sql запросами.
Например:
Я - пользователь который залогинился, захожу на страницу к другому юзеру, нажимаю на кнопку "Начать диалог", диалог создался (если не был создан) и записался в базу данных, вроде всё нормально, но нет... если я (залогиненный юзер) открою мой список диалогов, то я там вроде-бы всё хорошо.. а когда в другом браузере перехожу на другого пользователя с кем был создан диалог, то я там увижу как-бы диалог с самим с собой. В чем проблема?
Ниже я предоставлю вам скрины и опишу что и как..
user_id - кто создал диалог
with_user_id - с кем.
data_last_message - на это не обращайте внимание, это я сортирую диалоги по последнему сообщению.
ну здесь понятно, думаю описывать не нужно...
dialog_id - айди диалога =) кэп.
Вот например это я залогиненный юзер создал диалог с
Ferruccio Lamborghini, всё хорошо тут..
А вот тут.. всё
очень плохо..
Как я описал выше что я увижу
диалог с самим собой.
Как исправить это?
Предоставляю скрин (код) запроса..
Вот.. надеюсь вы поможете решить эту проблему, а то я уже 3 месяца намучался, но решил не заморачиваться, и доделал другие фичи на сайте, вот это (диалоги) уже последнее что осталось...
Заранее вам благодарен. Надеюсь я подробно описал проблему.
P.S. Если нужно, то я оставил код в виде текста.
// проблема где-то здесь
$dialog = $database->query("SELECT id,user_id,with_user_id FROM dialog_id WHERE with_user_id='$loggedUser->id' OR user_id='$loggedUser->id' ORDER BY last_message_date DESC");
while($dialog_id = $database->fetch_array($dialog))
{
// выбор текста и всего остального с определенного dialog_id
$text = $database->fetch_array($database->query("SELECT dialog_id,user_id,to_user_id, text, last_message,minutes,hours,day,month,year,status FROM dialogs_message WHERE dialog_id='$dialog_id[id]' AND to_user_id='$dialog_id[with_user_id]' ORDER BY id DESC"));
// выбор имени юзера и т.д... в зависимости от with_user_id, то есть с кем создан диалог.
$avatar = $database->fetch_array($database->query("SELECT user_id,avatar,firstname,lastname,username FROM users WHERE user_id='$dialog_id[with_user_id]'"));