Нужно организовать модуль друзей на сайт функционал пока минимальный добавление/удаление. Так вот, как лучше организовать архитектуру таблицы? Пока в голову приходит только два поля id_f1 и id_f2 . В первое записывать кто добавляет, во второе кого добавляют, а получать список через OR т.е. id_f1 = :id_user or id_f2 = :id_user. Может решение по лучше?
04 Апр 2012, 14:06IceJOKER, ну тоже самый вариант я описал в первом посте. Но вот интересно, может есть еще способы
04 Апр 2012, 15:23я немного не так делал. Структура:
айди 1 юза и айди 2 юза, ячейка назовем ее agree. Дадим ей intval значение. Затем, добавляем в други, делаем в базе insert но при этом agree ставим значение 0. Затем идет проверка на вывод из базы есть ли записи где айди2 юза имеет мой айди, а agree=0. если есть, значит выводим, это как заявка. Если соглашаемся, то в этой табле апдейтим agree = 1 и инсертом создаем такую же таблу, но с обратнъми значениями. Айди1 юз равен другу, айди2 юз равен тебе)
добавлено спустя 1 минуту:
блин прочитал что написал, и сам запутался) хд. Могу структуру таблы показать
exelente пишет:
"я немного не так делал. Структура:
айди 1 юза и айди 2 юза, ячейка назовем ее agree. Дадим ей intval значение. Затем, добавляем в други, делаем в базе insert но при этом agree ставим значение 0. Затем идет проверка на вывод из базы есть ли записи где айди2 юза имеет мой айди, а agree=0. если есть, значит выводим, это как заявка. Если соглашаемся, то в этой табле апдейтим agree = 1 и инсертом создаем такую же таблу, но с обратнъми значениями. Айди1 юз равен другу, айди2 юз равен тебе)
добавлено спустя 1 минуту:
блин прочитал что написал, и сам запутался) хд. Могу структуру таблы показать"
не нужно, я понял, благодарю. Если больше не найду вариантов лучше, буду использовать этот. 
Записывай id того кто кинул заявку, и кому кинули заявку. потом в запросе по ебаться придётся, с выводом ссылок, подобных "Удалить из друзей","Личное сообщение" еслим есть ещё настройки приватности.
А вообще, дання архитектра не идеальна. Может реально, кто то предложит более лучшую?
user1, user 2, follow, statement.
id intval, id inrval, 0 or 1 intval, 0 or 1 intval соответственно
Если фоллов равно 1, то первый юзер подписан на второго. тут же, если statement = 1, то показываем заявку второму юзеру про нового друга, если 0 — нет. Когда второй юзер принимает заявку, то добавляем запись, что второй подписан на первого и значения поля для заявки ставим в 0 для обоих значений.
Типа как вконтакте
юзаю обычно такую же систему, как и у #4.
мороки много. наверное, у меня фантазии не хватает что-то придумать особенное)