Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: выбор из базы значений в зависимости от имени файла
Форумы портала PHP.SU » » Вопросы новичков » выбор из базы значений в зависимости от имени файла

Страниц (1): [1]
 

1. imediasun - 23 Августа, 2013 - 15:33:15 - перейти к сообщению
Здравствуйте, уважаемые форумчане передо мной стоит казалось бы невыполнимая задача.
Есть папка на сервере в ней лежат файлы типа DJS_001_1194_980.jpg
В базе данных есть информация код товара которой соответствует число 1194 и цена которой соответствует число 980 в имени файла. И есть еще поле категория. Как из базы вывести только те категории которые соответствуют записи содержащей и код товара и цену. То есть вывести на экран только те категории (в единственном экземпляре) которые соответствуют именам файлов находящихся в директории. Помогите пожалуйста очень важная работа а я ума не приложу что за чем.
2. Zuldek - 23 Августа, 2013 - 16:09:25 - перейти к сообщению
Здравствуйте.

1. Пройтись по всем файлам, распарсив их имена в таблицу со структурой:
id | code | price.
Я бы даже не пыхом делал, а просто вывел все имена в текстовый файл из командной строки, а пыхом бы уже распарсил файлик с именами.

2. Простейший запрос к двум таблицам. Даже к трем. Ибо из указанного вами я не вижу прямой связи между именем картинки товара и категории. Следовательно вероятно есть третья таблица с кодами товаров и id-шниками категорий.
3. imediasun - 23 Августа, 2013 - 17:00:38 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $dir = "size_photo";
  3.         $files = scandir($dir);
  4.         array_shift($files);
  5.         array_shift($files);
  6.         foreach ($files as $file){
  7.     $name = explode("_", $file);
  8.         $code= explode(".", $name[3]);
  9.         include_once 'size/bd.php';
  10.         $stmt="SELECT  ITEMTYPE_NAME FROM VIEW_REMAIN WHERE ITEM_CODE='$name[2]' AND ITEM_PRICE='$code[0]'";
  11.         $result =  ibase_query($db,$stmt)or die (ibase_errmsg());
  12.         while ($myrows = ibase_fetch_assoc($result)){
  13.         $str = implode($myrows);
  14.         $str = iconv('WINDOWS-1251','UTF-8', $str);
  15.         echo $str;
  16.         }
  17.         }
  18.  

Вывод
Мужские Жилетки
Мужские Жилетки
Мужские Куртки
Женские пиджаки
Женские жилетки
Женские пиджаки
Мужские Кофты
Мужские Кофты
Мужские Рубашки
Мужские Кофты
Мужские Свитера
Мужские Рубашки
Мужские Рубашки
Женские жилетки
Мужские Брюки
Мужские Джинсы
Мужские Брюки
Мужские Брюки
Мужские Брюки


Но в таком коде выводятся 10 например одноименных категорий, как сделать чтобы одноименные категории выводились в единичном колличестве.Чтобы мужские рубашки например(и другие категории) не повторялись 10 раз а выводились один раз только

 

Powered by ExBB FM 1.0 RC1