помогите с запросом

1. Дмитрий (19.06.2010 / 02:07)
есть таблица друзей `friends`

в ней колонки

klu4 - общее количество друзей
id - у кого друзья
usid - иды друзей

вопрос как вы вести в анкете есть ли он у меня в друзьях ?

Делаю так , не выходит

$resultxd=mysql_query("SELECT * FROM `friends` WHERE `id`='".$user."' AND `usid`='".$id."';"); 
$rowdx = mysql_fetch_array($resultxd); 
$usid = $rowdx[0]; 
if (!empty($usid) && $user != $id) { 


echo 'Пользователь есть у меня в друзьях'; 

}


2. Олег (19.06.2010 / 02:21)
У тебя в одной записи хранятся множество id друзей? В таком случае нужно нормализовать структуру таблиц БД

3. Дмитрий (19.06.2010 / 02:31)
а пример можна?

4. Олег (19.06.2010 / 04:06)
Сделай в таблице friends всего 2 поля - id_user, id_friend

Чтобы проверить является он заданному пользователю другом, запрос -
SELECT * FROM friends WHERE id_user = $id_user AND id_friend = $id_friend

если нужно получить список друзей (он же и для друзья друга)

SELECT 
	users.id_user,users.login // остальные поля таблицы users
	friends.id_user, friends.id_friends
FROM
	users
INNER JOIN
	 friends ON USING (`id_user`) 
WHERE  
	friends = $id_friends


5. Олег (19.06.2010 / 04:09)
Да, еще можно сделать 3 поле is_act типа ENUM ('yes','no') чтобы обозначить потверденные заявки от непотвержденных

6. Дмитрий (19.06.2010 / 04:37)
Все спасибо я разобрался close #

URL: https://visavi.net/topics/10658