2009-08-30 56 views
1

我有一個員工ID的數組:如何編寫基於數組值的查詢

34,35,40,67,54等等。

查詢我的「員工」表並查找關聯員工的所有姓名的最簡單方法是什麼?

這是一個將返回數組中每個id的'名稱'的查詢。

回答

5
$id_str = implode(', ', $ids); 
mysql_query("SELECT name FROM employees WHERE id IN ($id_str)"); 

2

將數組拼成一個字符串,然後使用MySQL的IN()函數。

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

如果你想把它們都在同一個結果行,使用MySQL的GROUP CONCAT你可以得到in字符串implode()

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

$query = "SELECT col1, col2, col3 
      FROM employees 
      WHERE col1 IN ({$inString})";