[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка нескольких пользователей
Гость_root
У меня имеется массив с id пользователями. Как сформировать запрос на выборку этих пользователей из БД?



Спустя 53 минуты, 43 секунды (7.08.2011 - 09:44) Romms написал(а):
$sql = "SELECT * FROM `table` WHERE `id` IN ('".implode("','",$array)."')";


верно? :)

Спустя 1 час, 12 минут, 22 секунды (7.08.2011 - 10:56) neadekvat написал(а):
Цитата (Romms @ 7.08.2011 - 10:44)
верно? smile.gif

Формально - да. Но зачем обрамлять кавычками числовые значения, тем более, когда они в IN? Это перегружает код и никакого смысла не имеет.

Спустя 17 минут, 39 секунд (7.08.2011 - 11:14) Romms написал(а):
neadekvat, а где в первом посте информация об типе данных?? wink.gif

id необязательно числовой может быть...

Спустя 4 часа, 19 минут, 20 секунд (7.08.2011 - 15:33) Гость_root написал(а):
Если массив с пользователями вывести через print_r то будет так :
Array ( [0] => Array ( [id_friend] => 29 ) [1] => Array ( [id_friend] => 30 ) )

Я делаю запрос :

"SELECT * FROM users WHERE id_user IN ('".implode("','",$array)."')"

но ничего непроисходит. Подскажите в чём ошибка.

Спустя 11 минут, 32 секунды (7.08.2011 - 15:45) Winston написал(а):
Гость_root
Вот так должно сработать
// $a это двумерный массив с id_friend
$a = Array (0 => Array('id_friend' => 29), 1 => Array('id_friend' => 30));
$a = implode(',', array_map(create_function('$item', 'return implode(",", $item);'), $a));




Спустя 10 минут, 22 секунды Winston написал(а):
И запрос так написать
"SELECT * FROM users WHERE id_user IN (".$a.")";

Спустя 16 минут, 29 секунд (7.08.2011 - 16:01) Гость_root написал(а):
А SQL оставлять тот же?



Спустя 1 минута, 12 секунд Гость_root написал(а):
Winston SQL увидел всё smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.