2011-02-02 2 views
0

Если у меня есть массив, как:PHP массив MySQL тянуть

$b=array(1,6,8,9); 

и я также есть таблица MySQL с:

ID (это целое число, как элементов массива), код, время

и я хочу получить время для каждого идентификационного номера в массиве $ b, как я могу это сделать?

Я в настоящее время использую mysql_query для каждого элемента массива в цикле, это кажется плохо ...

ответ

0
if (is_array($b)) { 
    $ids = implode(',', $b); 
} else { 
    $ids = $b; 
} 

if ($ids !== '') 
{ 
    $result = mysql_query(
    "SELECT ID, code, time 
    FROM YourTable t 
    WHERE 
     t.ID IN ($ids)"); 
} 

Это даст вам результат запроса из нескольких строк, где каждая строка содержит совпадающий идентификатор и соответствующий код и время.

+0

будет ли это работать только для 1-значных целых чисел? как не для массива (1,4,5,72,39,3)? – David19801

+0

Нет. Ожидается, что $ b будет массивом. Он * может * быть массивом одного элемента. Вы также можете проверить, является ли это массивом. – GolezTrol

+0

Я добавил эту проверку в примере. – GolezTrol

Смежные вопросы