Имеется таблица im с полями:
id - индекатор
user_from - имя отправителя
id_from - id отправителя
user_to - имя получателя
id_to - id получателя
text - текст письма
date - дата отправки
see - просмотрено ли сообщение (знач. 0 и 1)
Возник следующий вопрос... Как просканить таблицу, и выводить имена тех, с кем была переписка?
Вот мой код...
P.S. Переменная login это мой ник :)
$sql = mysql_query("SELECT user_from FROM `im` WHERE user_from != '$login' and user_to = '$login' or user_to != '$login' and user_from = '$login' GROUP BY user_from ORDER BY date DESC");
while($result = mysql_fetch_array($sql)) {
echo"$result[user_from]<br>";
}
Всё вроде работает, то проблема в том, что имена с темми с кем я переписывался будут дублироваться, так как имя переписчика может быть и в user_from и в user_to... В этом и проблема :(
Объеденить в запросе эти 2 поля я не умею :(
И второй вопросик... Правильно ли я вообще делаю? Или же при наличии в таблице пару миллионов строк, моя БД рухнет? так как мне приходится постоянно селектить всю таблицу, чтобы найти всех челов с кем была переписка?