Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Нужен небольшой совет [3]
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Еще раз, есть простая таблица постов. Пользователь совершая определенное действие, рассылает конкретный пост, только своим друзьям(но только тем у кого еще нет этого поста).
Так что пост может быть разослан определенным пользователям, а для других пользователей еще нет(то есть они его еще не рассылали).
Не понимаю как тут можно 1 запросом, сделать это.
Ведь необходимо знать рассылали ли моему друг этот пост или нет, для этого запрос в эту таблицу(разосланных постов id поста и id_user кому разослан) и смотрим моему другу разослали этот пост или нет.
А друзей у меня тыс 5 вот поэтому стока запросов.
----- Так было, так есть и так будет
caballero
Отправлено: 06 Сентября, 2012 - 00:33:23
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
вот из 5тысяч друзей и выгребаете тех кому данный пост еще не был разослан
то есть который не упоминается в таблице разосланных постов
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Цитата:
вот из 5тысяч друзей и выгребаете тех кому данный пост еще не был разослан
то есть который не упоминается в таблице разосланных постов
Если Вам ну трудно, можно sql запрос, а то что-то поздновато уже, и я никак не могу сообразить...
----- Так было, так есть и так будет
caballero
Отправлено: 06 Сентября, 2012 - 00:53:50
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
к примеру юзер с id=1 и пост c id=2
select friend_email from friends where user_id = 1 and frend_id not in (select freand_id from sended_postф where post_id=2) (Добавление)
здесь правда понадобится куча insert для вставки
но это однократная операция на пост
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.