1. PHP / Говнокод #9362

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    // Запрос выбрал из таблицы всё, далее цикл
    for($c=$from; $c<$n_objects+$from; $c++)  {
    // Название ключа улыбнуло - $products[$i]['IsNotAvalible']
    // формирует массив (оставлю самое интересное):
    
    // запрос в итерации для картинки текущего товара
    $foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='Index'");
    		if($this->connect->GetNRows()>0)
    		{
    // запрос в итерации для урлы картинки текущего товара
    			$i_src = $this->img->ImgLink($foto_res[0]['FotoID']);
    			$MATR['PRODUCTS'][$mi]['INDEX_FOTO_IMG']='<img src="'.$i_src.'" alt="'.$products[$i]['Name'].'" border="0" />';
    			$MATR['PRODUCTS'][$mi]['INDEX_FOTO_SRC']=$i_src;
    		}
    			
    // бьем наверняка, а вдруг еще картинки есть?			
    		$foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='Small'");
    		if($this->connect->GetNRows()>0)
    		{
    // ага, точно, картинка есть, надо достать урлу
    			$i_src = $this->img->ImgLink($foto_res[0]['FotoID']);
    			$MATR['PRODUCTS'][$mi]['SMALL_FOTO_IMG']='<img src="'.$i_src.'" alt="'.$products[$i]['Name'].'" border="0" />';
    			$MATR['PRODUCTS'][$mi]['SMALL_FOTO_SRC']=$i_src;
    		}
    		else $img_html ='';
    // ну давай еще разок, нам запросом меньше, запросом больше не принципиально уже
    		$foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='Large'");
    		if($this->connect->GetNRows()>0)
    		{
    // ну ты смотри, еще картинку нашло, давай ка урлу к ней достанем
    			$MATR['PRODUCTS'][$mi]['LARGE_FOTO_IMG']='<img src="'.$this->img->ImgLink($foto_res[0]['FotoID']).'" alt="'.$products[$i]['Name'].'" border="0" />';
    		} 
    		else $img_html ='';
    }

    И вот такая она ВСЯ, то что я привел, это только формирование блочка популярных товаров.
    Если вам понравится - буду веселить дальше, там еще мноого всего )))

    Запостил: deep, 09 Февраля 2012

    Комментарии (8) RSS

    • Я, deep, находясь в здравом уме и твердой памяти, торжественно заявляю: это полный 3.14здец...
      Ответить
    • Хм, а вдруг еще есть?
      Ответить
    • > __cat_Foto
      За PHP не знаю, но структуру базы говную.
      Ответить
      • котоматрица
        Ответить
      • На деле даже и эти данные из такой структуры можно было достать джойном в одном запросе.
        Ответить
      • Прям экстрасенс ))
        По названию таблицы определю правильность структуры БД, наведу порчу по sql запросу, сделаю дамп по фотографии )))
        Ответить
    • Легко оптимизировать, кстати.

      $names = array('Index', 'Small', 'Large');
      for($c=$from; $c<$n_objects+$from; $c++)  {
      for($j = 0;$j < 3; $j++) {
      $foto_res = $this->connect->Query("SELECT FotoID FROM __cat_Foto WHERE ProductID='".$products[$i]['ID']."' AND Attribute='".$names[$j]."'");
      /* ... */
      Ответить

    Добавить комментарий