|
 4.4 Кб |
|
| есть две таблицы (см. вложенные файлы)
нужно подгружать список друзей из таблицы frends, аватарки для них брать из таблицы users
SELECT что-то нужно WHERE frends.id_user='".$_GET['id'].
|
как сделать запрос? | |
|
|
|
|
 4.4 Кб |
|
|
для: technic611
(27.01.2011 в 19:45)
| | таблица frends | |
|
|
|
|
|
|
|
для: technic611
(27.01.2011 в 19:46)
| | что там делает слово Andrey ?
Cтруктуру таблицы можно получить запросом
SHOW CREATE TABLE frends;
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.01.2011 в 19:49)
| | это таблица с друзьями. Andrey это друг пользователя japan_parts. | |
|
|
|
|
|
|
|
для: technic611
(27.01.2011 в 20:19)
| | >это таблица с друзьями. Andrey это друг пользователя japan_parts.
А почему пользователь japan_parts обозначен своим первичным ключом, в то время как пользователь Andrey обозначен чем-то вроде имени?
Это не есть гуд. | |
|
|
|
|
|
|
|
для: Trianon
(27.01.2011 в 20:24)
| | ну посмотрите в таблице frends есть поле id_user. Там идентифкатор на пользователя japan_parts. Чего то вы меня путаете | |
|
|
|
|
|
|
|
для: technic611
(27.01.2011 в 20:36)
| | С пользователем 1 (japan_parts) всё хорошо.
Но у пользователя Andrey тоже ведь есть идентификатор?
Почему он не применен? | |
|
|
|
|
 44 Кб |
|
|
для: Trianon
(27.01.2011 в 20:40)
| | прошу прощения ))) не все таблицы отправил. таблица users
напоминаю . для пользователя japan_parts подгружаем список друзей из таблицы frends, имена аватарок берем из таблицы users уже по идентификатору друга как то так | |
|
|
|
|
|
|
|
для: technic611
(27.01.2011 в 21:18)
| |
SELECT f.*,u.avatar FROM frends f
LEFT JOIN users u ON f.id_user = u.id_user
WHERE f.id_user=".(int)$_GET['id'];
|
| |
|
|
|
|
|
|
|
для: Лена
(28.01.2011 в 12:33)
| | Очень неожиданная последовательность вокруг LEFT JOIN | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 12:57)
| | Почему? Я чего-то не поняла в постановке задачи? | |
|
|
|
|
|
|
|
для: Лена
(28.01.2011 в 13:16)
| | сколько строк, по-Вашему, вернет сервер? | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 13:41)
| | Не по тому полю объединила таблицы. Запрос в базе проверила, сразу увидела.
SELECT f. * , u.avatar
FROM friends f
LEFT JOIN users u ON f.id_friends = u.id_user
WHERE f.id_user =3
|
Вам, как обычно, спасибо ) | |
|
|
|
|
|
|
|
для: Лена
(28.01.2011 в 14:15)
| | id_frends , наверняка, первичный ключ таблицы frends
Сколько строк вернется?
Думайте еще.
Пожалуйста. | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 14:27)
| | ну работает ведь!? | |
|
|
|
|
|
|
|
для: technic611
(28.01.2011 в 15:01)
| | Нет, не работает. | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 15:17)
| | у меня почему то работает | |
|
|
|
|
|
|
|
для: technic611
(28.01.2011 в 15:36)
| | ну мало ли почему.
У Вас id_user = 1 самсебедруг, и ничего.
и уникальный ключ у Вас с индексом путается и тоже ничего. | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 14:27)
| | он уникальный, index | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 14:27)
| | Структура таблицы друзей неправильная. id_frends - да, первичный ключ.
CREATE TABLE `friends` (
`id_friends` int(11) NOT NULL auto_increment,
`login` varchar(255) default NULL,
`id_user` int(11) NOT NULL,
PRIMARY KEY (`id_friends`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- Дамп данных таблицы `friends`
--
INSERT INTO `friends` VALUES (1, 'Andrey', 3);
INSERT INTO `friends` VALUES (2, 'Dima', 3);
INSERT INTO `friends` VALUES (3, 'Igor', 1);
INSERT INTO `friends` VALUES (4, 'Igor', 2);
|
Игорь дружит с Димой и Андреем. Выходит, в friends две строки с логином Igor. Так быть не должно.
Когда я делала, у меня вообще структура этой таблицы была другой. Здесь связь многие ко многим, я дружу со многими, многие дружат со мной.
Значит, поля:
id_user - юзер из таблицы users
id_friend - тот, с кем дружит юзер.
Поля надо сделать как составной ключ.
Лепить запрос к кривой таблице - дело неблагодарное. | |
|
|
|
|
|
|
|
для: Лена
(28.01.2011 в 16:39)
| | > Лепить запрос к кривой таблице - дело неблагодарное.
согласен, не смотря на (28.01.2011 в 13:20) | |
|
|
|
|
 31.8 Кб |
|
|
для: Лена
(28.01.2011 в 16:39)
| | ничего не понял из этого поста. Что где неправильно? у меня это не имена, а логины, имена у меня сохранены в таблице users Так как ты показала у меня и есть.
id_user в таблице users
id_frends в таблице frends.
Чем же она кривая?
У меня не так, как во влож. файле | |
|
|
|
|
|
|
|
для: technic611
(28.01.2011 в 20:13)
| | скажите, пожалуйста, Вы кроме как картинками изъясняться никак не можете?
Структура таблицы - это текст вобще-то. | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2011 в 20:29)
| | я тоже хочу поинтересоваться у вас, вы здес хоть кому нибудь помогли? | |
|
|
|
|
|
|
|
для: technic611
(28.01.2011 в 21:30)
| | да, конечно, с этим проблем нет :) | |
|
|
|
|
|
|
|
для: Лена
(28.01.2011 в 14:15)
| | а как можно подсчитать число друзей одним запросом, куда COUNT добавить? | |
|
|
|
|
|
|
|
для: Лена
(28.01.2011 в 12:33)
| | ленчик спасибоооо | |
|
|
|