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

    +154

    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
    if ( isset( $criterias['name'] ) && ($criterias['name'] = trim( $criterias['name'] )) )
    {
    	$conditions .= empty( $conditions ) ? '(' : ' AND ';
    	$conditions .= "name LIKE '%".addslashes( $criterias['name'] )."%'";
    }
    
    if ( isset( $criterias['address'] ) && ($criterias['address'] = trim( $criterias['address'] )) )
    {
    	$conditions .= empty( $conditions ) ? '(' : ' AND ';
    	$conditions .= "address LIKE '%".addslashes( $criterias['address'] )."%'";
    }
    
    // если условие непустое, то закрываем скобку
    $conditions .= empty( $conditions ) ? '' : ')';

    Вместо использования массива для условий и последующего его объединения

    Запостил: wunge, 10 Августа 2009

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

    • Гораздо больше доставляет тот факт, что в условиях присваивания вместо "==" или "===" - это детский сад.
      Ответить
      • Здесь именно присваивания, а не ошибочное равенство
        Ответить
        • И больше всего удручает, что присваивание «на месте»: обычная проверка изменяет значение элемента.
          Ответить
    • Видимо, кодер не знает английский:
      criterion -- единственное число,
      criteria -- множественное.
      Ответить
      • Да, верно. Но нто нормальная ситуация.. По крайней мере лучше, чем названия типо 'cislo'.
        Ппц.

        А за addslashes().. читайте матчасть, кодеры, блин.
        Ответить

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