[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: "Добавить в друзья" как лучше реализовать?
tureg1
Собственно вопрос в названии темы. Пишу небольшой двиг типа соц сети, столкнулся с проблемой "друзей". Не могу понять логику работы. У меня в голову пришел только один вариант.

Таблица
id | юзер | его друг - для отображения на странице юзера
id | друг юзера | юзер - для отображения на странице друга юзера

но это какое то неправильное решение, ведь при добавлении друга, скрипт будет делать два INSERT'а в таблицу, причем они получатся по сути одинаковые, только id юзеров будут наоборот

вывожу так:

$queryf = "SELECT * FROM `friends` WHERE id_user='$r[id_user]'";
$resultf=mysql_query($queryf);
while($f=mysql_fetch_array($resultf)) {

$querywk = "SELECT * FROM `users` WHERE id_user='$f[id_user_f]'";
$resultwk=mysql_query($querywk);
while($wk=mysql_fetch_array($resultwk))

{

echo "
<li>
<a href='./user?id=
$wk[id]/'><img src=$wk[gl_photo] width=50></a><br>
<a href='./user?id=
$wk[id]/'>$wk[nick]</a>
</li>"
;


может быть есть способ другого вывода, чтобы не нужно было создавать две записи в таблице?



Спустя 17 минут, 29 секунд (6.11.2011 - 13:27) Игорь_Vasinsky написал(а):
`users`
id | user| pass | mail ит.д.

`friends`
id | user_id | friends (users_id - через разделитель)

тут получается

1. считал user_id
2.получил friends
3. в цикле вытащил всю инфу по юзерам.

Спустя 55 минут, 15 секунд (6.11.2011 - 14:22) tureg1 написал(а):
у меня так и получается или я что то путаю?

просто у меня масло масленное получается в таблице friends

id|user1|user2
id|user2|user1

как можно без этого обойтись?

Спустя 49 минут, 8 секунд (6.11.2011 - 15:11) Лена написал(а):
`friends`
user_id | friend

user_id и friends - поставить составным первичным ключом.
user_id - id пользователя
friend - id его друга
При добавлении нового друга вы вставляете одну строку: к данному пользователю пишете друга:
INSERT INTO friends(user_id, friends) VALUES(14,15);

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.