Привет всем.

Задачка такая. нужно вывести всех гостей у пользователя + вывести кнопки дружить или удалить из друзей.

Есть три таблицы

Таблица гостей _users_guest
id date you_id profile
1 05-05-10 2 1
1 05-05-10 3 1

Таблица друзей _users_friends
you_id friend_id date approve
1 2 05-05-10 1
2 1 06-05-10 1

Таблица пользователей _users
user_id name
1 Игорь
2 Катя
3 Вера

Глобальная переменная $user = $member_id['user_id']; т.е. мой id

Запрос сейчас для вывода гостей такой

SELECT you_id, profile, date, users.name,

FROM users_guest

LEFT JOIN users
ON users.user_id = you_id

WHERE profile='$user' ORDER BY date DESC

Выводит гостей Катя Вера


Далее нам нужно вывести рядом с Именами кнопки дружбы или если дружат то удалить
Таблица _users_friends
если люди дружат то перекрестные поля получаются

you_id friend_id date approve
1 2 05-05-10 1
2 1 06-05-10 1

Что бы узнать дружат или нет я использую такой запрос

$row['user_id'] - id пользователя в цикле.

SELECT * FROM users_friends where (you_id = '$user' and friend_id='".$row['user_id']."';) or (you_id = '".$row['user_id']."' and friend_id='$user';)

count num_rows делает подсчет
если 2 совпадения то дружат если ни одного то не дружат


А вот встал вопрос как это все объединить?

Мне нужно вывести всех гостей из одной таблицы (_users_guest ). У гостей выдернуть имена и прочую информацию из (_user) и рядом с каждым гостем показать кнопки (дружить/удалить друга) из третьей таблицы (_users_friends)

Помогите все связать одним запросом.


Этот вопрос начисто взорвал мозг одному из модераторов сообщества.
Пожалуйста, оформляйте вопросы так, чтобы их можно было нормально прочесть и понять.


@темы: PHP, Вопросы

Комментарии
26.05.2010 в 19:35

Я не бог, я так низко не опускаюсь.
Ой запутаешься ты в связях если так столбцы называются. Хотя может это я с ходу тупил.

Попробуй такой запрос. friend будет или 0 или 1.


26.05.2010 в 22:06

lugavchik нет так не получается
Ошибка Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause

Как правильно называть столбцы?
26.05.2010 в 22:48

Я не бог, я так низко не опускаюсь.
точно. забыл добавить group by users_guest.you_id
27.05.2010 в 00:06

не работает такой метод в цикле count у друзей вместо 2 показывает 4

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail