Создание массива и выборка из него

655
.
Let Mortal Kombat begin
Товарищи, возникла тупиковая ситуация в моём мозге.
Есть файл с содержанием:
ID, Наличие, Цена
1,*,221
34,*,45488
56,,1212
Нужно составить массив и сделать следующее:
$query = mysql_query("SELECT * FROM `table`");
while ($result = mysql_fetch_assoc($query)){
  //Надо выяснить, есть ли id в массиве из файла и если есть, то обновить запись в БД согласно данным из файла.
}

Буду весьма благодарен за помощь.
.
Light in Night
Вложенный цикл. Либо изначально собрать айдишники в массив из цикле потом проверить наличие.
.
Light in Night
Файл разбейте explode'ом, и выберите первый элемент каждой строки.
.
seg0ro
Let Mortal Kombat begin
написал таки, наверняка быдлокодерски, но работает.
Долго же я ломал мозге над этим.
спасибо FlySelf - он очень помог с ЭТИМ
$array = file($path.'/files/somefile.csv');
if (is_array($array)){
  foreach($array as $line){
    $content = explode(',', $line);
    $array[$content[0]] = array($content[1], $content[2]);
  }
}
Для сравнения в цикле делаем так:
$query = mysql_query("SELECT * FROM `table`");
while ($result = mysql_fetch_assoc($query)){
  echo $array[$result['id']][1]; // цена
}
.
(\/)____o_O____(\/)
про csv
http://annimon.com/code/?act=view&id=322
а вообще пишу функцию и array_map пользую
.
Let Mortal Kombat begin
Тож подошло бы, только чуть пораньше бы я прочитал статью твою (на месяцев 6 раньше) не пришлось бы ломать голову
.
¤
Серж, ты под что эту обработку файла делаешь? В смысле для чего?
.
Let Mortal Kombat begin
VARG, обновление таблицы из csv файла (наличие товара и его стоимость)
.
(\/)____o_O____(\/)
seg0ro, базу в экселе держишь? как раз ту функцию писал для аналогичного файла.
первая строка это имена полей, следующие как в базе, одна строка одна запись
.
Let Mortal Kombat begin
Koenig, из 1с экспортирую специально подготовленный файл на три колонки.
Спасибо, я ужо всё сделал - работает, генерация не привышает пары секунд, так что терпимо и менять не буду.
Всего: 21