Добрый день, мастера) Снова столкнулся с проблемой
И так: сделал почту, почти
Так вот, всё вроде хорошо, но при добавлении контакта маленькая ошибочка, если я написал юзеру хоть одно сообщение, он у меня добавляется в контакты, но у него на главной странице почты не появляется диалог со мной, в базе диалог есть.
Вот не могу реализовать, так чтобы при написании одного обитателя другому контакт создавался в обоих
Так я вывожу контакты:
[code]$sql = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail_contact` where `who` = '".$user['id']."'",0);
if($sql == 0){
echo '<div class="error">Контактов нет</div>';
}else{
/вывод контактов
}[/code]
Вот так я добавляю контакт:
[code]
$cont = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail_contact` WHERE `who`='".$user['id']."' and `ho` = '".$id."' or `who` = '".$id."' and `ho` = '".$user['id']."'",0);
if($cont == 0){
mysql_query("INSERT INTO `mail_contact`(
`who`,
`ho`,
`time`,
`black_list`,
`msg`
)VALUES(
'".$user['id']."',
'".$id."',
'".time()."',
'0',
'".$text."'
)"
}else {
mysql_query("UPDATE `mail_contact` SET `msg`='".$text."' WHERE `who`='".$user['id']."' and `ho` = '".$id."' or `who` = '".$id."' and `ho` = '".$user['id']."' limit 1"
}[/code]
Ну хз, записываю два поля в таблицу. Одно поле
От user1 добавил user2
Второе user2 добавил user1
Добавлено 03.11.16 в 13:11:26:
Это как самый просто вариант.
Но не особо рационально
Тоже так делал, НО: если user1 пишет user2 то контакт появляется в user1, чтобы он появился в user2 соответственно ему нужно написать сообщение user1
А как он ответит на сообщение которое не видет?
Ты не понял.
Если один пишет, то добавлять сразу двоим. Без одобрения другого пользователя.
Добавлено 03.11.16 в 13:21:00:
Должно работать. Может описал не понятно, но должно работать
Сделал так
Но мне нужно обновлять последнее сообщение
Оно обновляется только в первом поле
SELECT * FROM mail_contact WHERE `who` = '".$user['id']."' OR `ho` = '".$user['id']."'
Таким обазом ты выберешь диалоги,где отправитель или получатель текущий юзер, т.е ты.
Только нужно сделать чтобы с этого контакта отображался не ты, а твой собеседник (его ник,ид), здесь легко запутаться при составлении условия
JetBlue, и в этом случае не надо писать в таблицу два диалога, как предложили више.
О, заработало)
Таким образом сделаю:
if($mail2['ho'] == ''.$user['id'].''){
echo ''.online($mail2['who']).'';
}
Правильно будет?