как написать запрос на основе значений массива - PullRequest
1 голос
/ 30 августа 2009

У меня есть массив идентификаторов сотрудников:

34, 35, 40, 67, 54 и т. Д.

Какой самый простой способ запросить у моей таблицы «сотрудников» и найти все имена соответствующих сотрудников?

Это запрос, который возвращает «имя» для каждого из идентификаторов в массиве.

Ответы [ 2 ]

5 голосов
/ 30 августа 2009
$id_str = implode(', ', $ids);
mysql_query("SELECT name FROM employees WHERE id IN ($id_str)");

Если вы хотите, чтобы они все были в одной строке результатов, используйте GROUP CONCAT в mysql.

2 голосов
/ 30 августа 2009

Внедрите ваш массив в строку, а затем используйте функцию IN () MySQL.

SELECT col1, col2, col3
FROM employees
WHERE col1 IN(1, 12, 38, 52)

Вы можете получить эту in строку с implode()

$ids = array(1,132,32,52);
$inString = implode(",",$ids);

$query = "SELECT col1, col2, col3
          FROM employees
          WHERE col1 IN ({$inString})";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...