Помощник
|
Вывод с условием |
WebKiD
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
5.2.2009, 17:30;
Ответить: ZiTosS
Сообщение
#2
|
|
WebKiD, вы до конца не объяснили.
Ведь чтобы вывести тех кто ТЕБЯ добавил, а ТЫ их нет. Нужно знать ТВОЁ ID. Так? То есть мы будем сверять данные определённого friend_u_id... Прав я или нет? |
|
|
WebKiD
|
Сообщение
#3
|
|
Да, прав.
Для этого я и вывел кусок таблицы. Там юзер с id=1 есть в друзьях у 9 человек, а у него в друзьях 7 человек. |
|
|
ZiTosS |
5.2.2009, 18:00;
Ответить: ZiTosS
Сообщение
#4
|
|
Тогда можно воспользоваться подзапросом.
SELECT * FROM friend WHERE NOT(u_id IN (SELECT friend_u_id FROM friend WHERE u_id=1)) AND friend_u_id=1 Выбрать все поля из базы друзей ЕСЛИ 1) Не выполняется(NOT) условие, что Добавляющий вас не находится в списке ваших друзей И 2) Все записи только с вашим friend_u_id=1 Данные в таблице [img]http://i019.radikal.ru/0902/52/19244f4f18a4.gif[/img] Запрашиваемые данные [img]http://s53.radikal.ru/i140/0902/dd/15a4b009e7bc.gif[/img] Если что-то не понятно со вложенными запросами, или как работает запрос... Отвечу на все вопросы. Поблагодарили: (0) |
|
|
WebKiD
|
Сообщение
#5
|
|
Спасиб. А можешь изобразить в php коде, как будет это выглядеть?
т.е. Если есть кто то кто добавил меня в друзья - вывести: echo"Меня кто то добавил в друзья!"; А если нет новых друзей: echo"У меня нет новых друзей...";
|
|
|
ZiTosS |
5.2.2009, 23:58;
Ответить: ZiTosS
Сообщение
#6
|
|
Конечно можно, только должна быть таблица пользователей.
Делаем так. <?php
/* прототип функции формирования списка новых друзей */ function newFriends($id) { $friends = ""; $query = "SELECT * FROM friend WHERE NOT(u_id IN (SELECT friend_u_id FROM friend WHERE u_id={$id})) AND friend_u_id={$id}"; $res = mysql_query($query); if(mysql_num_rows($res) == 0) { $friends = "У вас нет новых друзей"; } else { while($array = mysql_fetch_array($res)) // Цикл перебора всех записей по запросу $friends .= formingFriend($array['u_id']); // Формируем по u_id } return $friends; } /* прототип функции формирования одного друга */ function formingFriend($id) { $temp = ""; $query = "SELECT * FROM users WHERE id={$id} LIMIT 1"; // Выбираем добавившего пользователя из таблицы users $res = mysql_query($query); if(mysql_num_rows($res) != 0) { $friend = mysql_fetch_array($res); $temp = "{$friend['username']} "; // Заносим имя друга } return $temp; // Возвращаем сформированную строку друга } /* Выводим новых друзей пользователя с id = 5 */ echo newFriends(5); ?> |
|
|
WebKiD
|
Сообщение
#7
|
|
По моему где то ошибка, т.к. выводит "У вас нет новых друзей", хотя в друзья не подтвержденно 2 юзера.
зы. Имена таблиц сменил и подключил к БД. |
|
|
ZiTosS |
6.2.2009, 1:51;
Ответить: ZiTosS
Сообщение
#8
|
|
Ошибку исправил...
Забыл передать параметр в mysql_num_rows() |
|
|
WebKiD
|
Сообщение
#9
|
|
|
Спасиб. Все работает))
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок быстро, удобно, по доступному курсу |
200 | Sostavitel | 98204 | 11.2.2024, 21:07 автор: Wolfhound |
|
Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA). | 9 | sbitcoinru | 6784 | 10.10.2023, 19:25 автор: Sbitcoin |
|
Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH | 225 | himin | 132838 | 7.5.2023, 13:26 автор: Вера_Симонова |
|
«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«» | 13 | 101Crypta | 12160 | 18.4.2023, 23:15 автор: 101Crypta |
|
Нужен вывод в топ наших роликов Youtube | 3 | wep | 1929 | 23.3.2023, 17:39 автор: distrib095 |
Текстовая версия | Сейчас: 20.4.2024, 4:58 |