Просмотр поста

.
Virtuozzo

Добрый день! Столкнулся со след. проблемой. Есть много ПДФов, около 20к (инструкции к товарам). Находятся они на отдельном сервере, в товарах (на другом сервере) указывается только ссылка на этот ПДФ в отдельной таблице.

Проблема в след. у товаров есть код, есть список имен товаров к которым принадлежит этот файл такого вида
djhsiuah92d7h3iuh - Сплит-система Lesar
Первое код которому соответствует товар в этом хранилище файлов (он же имя ПДФ файла).
Надо как-то указать в таблице ссылку на этот файл, но там требуется id товара (id товара в магазине).

Пробую искать id товара по имени файла в таблице из списка имен для которых есть ПДФ.

$text = fopen("list.txt", "r"); //файл со списком имен
$array = null; 
if ($text) { 
while (($buffer = fgets($text)) !== false) { 
$array[] = $buffer; //получаем массив имен
} 
} 
fclose($text); 

foreach ($array as $name) { //перебираем имена в цикле и делаем запрос в бд
$sql = mysqli_query($db, "SELECT `XML_ID` FROM `b_iblock_element` WHERE `NAME` like '%$name%'"); 
while ($result = mysqli_fetch_array($sql)) { 
echo "{$result['XML_ID']} <br>"; 
} 
}

Но получаю только последнюю итерацию (результат/строку файла) цикла.
Хотел дальше сопоставить найденные id и имена со списком код-имя и присвоить туда равные id. А дальше уже делать записи в бд к этим товарам для которых нашлись ПДФ.


Собственно вопрос! Где косяк в цикле, что-бы получить все его результаты? И возможно у кого-то есть мысль как эту порнографию задачу можно как-то иначе решить?