Добрый день.

И снова вопрос.

есть таблица пользователей
id name

есть две GET переменные которые передают id пользователей

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

ну т.е. есть $_GET['drug'] и $_GET['ya']

нужно одним запросом вытащить из одной таблицы

и сделать две переменные $drug и $ya

@темы: PHP, Вопросы

Комментарии
20.05.2010 в 15:08

Псих
SELECT *
FROM `user`
WHERE `id` = _X1_
OR `id` = _X2_
LIMIT 2
20.05.2010 в 15:17

а как из найденных двух имен выделить что первое это от $_GET['drug'] а второе от $_GET['ya']?
20.05.2010 в 15:29

Псих
не подумал.. тогда, наверное, пример из предыдущего поста:

SELECT * FROM `user` WHERE `id` = X1
UNION
SELECT * FROM `user` WHERE `id` = X2

первый запрос будет в нулевой строке, второй в первой
20.05.2010 в 16:43

а как вывести
$friend и $ya ???
везде же не припишешь к переменным $row['name'].

как указать эту строку нулевую и первую?
20.05.2010 в 16:51

маленькое щячло
везде же не припишешь к переменным $row['name']. почему?о_0
$a = $array[0];
$b = $array[1];
20.05.2010 в 17:07

Мохнорыл
не понял

при использовании UNION в массив летят два имени
Первое от $_GET['drug'], второе от $_GET['ya']

Как мне вывести теперь

$drug = тут что будет?
$ya = тут что будет?
20.05.2010 в 17:10

маленькое щячло
SELECT * AS drug FROM blablabla
20.05.2010 в 17:19

Мохнорыл воо. Теперь понял.
Спасибо большое. Вопрос исчерпан. :)
20.05.2010 в 17:47

главное ебашилово, мои дорогие)
обоги. вот это страсти
Мохнорыл не понял

при использовании UNION в массив летят два имени Первое от $_GET['drug'], второе от $_GET['ya']

Как мне вывести теперь

$drug = тут что будет? $ya = тут что будет?


соответственно, если вы сперва в запросе укажете $_GET["ya"], а потом $_GET["drug"], то первый вызов mysql_fetch_array даст ваше имя, а второй - друга
20.05.2010 в 18:09

chipp спасибо. Еще один вариант
в первом цикл использовал а тут просто два раза mysql_fetch_array.
20.05.2010 в 18:32

маленькое щячло
А каким боком тут цикл?)))
20.05.2010 в 19:11

Мохнорыл если делать AS то можно либо два раза fetch_array либо все в while засунуть...
20.05.2010 в 22:26

Sanctus Satanas
а как из найденных двух имен выделить что первое это от $_GET['drug'] а второе от $_GET['ya']?

Ну дык id сравнить, по которым производился поиск.

$friendId = (int)$_GET['friend'];
$yourId = (int)$_GET['you'];

$result mysql_query('SELECT * FROM users WHERE id IN ('.$friendId.', '.$yourId.')');
while(
$user mysql_fetch_assoc($result)){
   
$users[$user['id']] = $user;
}

$friend = isset($users[$friendId]) ? $users[$friendId] : 'не найден';
$you = isset($users[$yourId]) ? $users[$yourId] : 'не найден';

echo 
'<pre>friend:'.print_r($friendtrue)."\n".'you:'.print_r($youtrue).'</pre>';


20.05.2010 в 22:32

Всё будет Кока-Кола.
$ids=(int)$_GET['drug'].','.(int)$_GET['ya'];

$query=mysql_query('SELECT name FROM users WHERE id IN('.$ids.') ORDER BY FIELD(id,'.$ids.')');
$drug=mysql_result($query,0,'name');
$ya=mysql_result($query,1,'name');


//Не обязательно
mysql_free_result($query);

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail