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

    +157

    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
    foreach ( $category->getChildrensCategory ( $_GET['id']+0 ) as $value ) {
    
    	$count = count ( $db->fetchAll ( $db->select ()->from ( array ('I' => 'ItemShop' ) )
    		    		->join ( array ('O' => 'ItemOptions' ), 'I.1cId=O.1cId' )
    				->where ( 'I.Category IN (?)', array_merge ( array ($value ['Id'] ), $category->getAllChildrensCategory ( $value ['Id'] ) ) )
    				->where ( 'O.New = 1' )
    				->orWhere ( 'I.Category IN (?)', array_merge ( array ($value ['Id'] ), $category->getAllChildrensCategory ( $value ['Id'] ) ) )
    				->where ( 'O.Insert > ?', date ( 'Y-m-d', mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - $date, date ( 'Y' ) ) ) )
     				->group ( 'I.1cId' ) ) );
    
    
    	// ...
    
    }

    ZEND. Oh, wait... ZOMG!

    Мало того, что тащим в память результат запроса, только чтобы его пересчитать, так в процессе формирования запроса два раза (!) дёргаем тяжелую рекурсивную функцию, которая собирает всех детей ноды (да, да, структура в БД имеет только Parent Node, никаких Nested Nodes и пр.)

    Запостил: sheershoff, 29 Сентября 2011

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

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