1. Список говнокодов пользователя Khvorostin

    Всего: 15

  2. PHP / Говнокод #16841

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if(count($colors)>1){
        if($i==2){
            $col = $colors[1];
        }else{
            $col = $colors[0];
        }
    }else{
        $col=$colors[0];
    }

    Вот где не надо - тьма тернарных операторов, а где их логичнее всего ожидать - вот такой огород из IF/ELSE

    Khvorostin, 13 Октября 2014

    Комментарии (17)
  3. PHP / Говнокод #16760

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $q=  mysql_query("select * from BillingParam where Name like ('%  %')");
    
    while($r=mysql_fetch_object($q)){
        $name=str_replace("  ", " ", $r->Name);
        $que="update BillingParam set Name='".$name."' where ID='".$r->ID."'";
        echo $que."<br>";
    
    $qq=mysql_query($que)or die(mysql_error());

    Нужно больше, ещё больше запросов к базе!

    Khvorostin, 24 Сентября 2014

    Комментарии (5)
  4. PHP / Говнокод #16745

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?
    $text[5] .="</body>";
    $text[5] .="</html>";
    echo $text[5];
    ?>

    И вот таким вот макаром
    Наша рота солдат
    Обходит ровно за сутки
    Квадрат, квадрат, квадрат...

    Khvorostin, 22 Сентября 2014

    Комментарии (2)
  5. PHP / Говнокод #16726

    +164

    1. 1
    echo "Дней до освобождения: " . $freedays, "<br>";

    В жопу унификацию. Программист не справился с задачей поставить два одинаковых знака - точки или запятые - в одной строке.

    Khvorostin, 19 Сентября 2014

    Комментарии (55)
  6. PHP / Говнокод #16720

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($qproizv_r->s > 0 && $qpriem_n > 0) {
        if ($qproizv_r->s >= $row->Kol) {
            $Status = 6;
        }
    } else {
        if ($qpriem_n > 0) {
            $Status = 6;
        }
    }

    Так и живем.

    Khvorostin, 18 Сентября 2014

    Комментарии (0)
  7. PHP / Говнокод #16703

    +155

    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
    if($numr>1){
        $i=0;
        while($row=mysql_fetch_object($q)){++$i;
    
            if($num==$i){
                return $row->id;
                break;
            }
        }
    }elseif($numr==1){
        $row=mysql_fetch_object($q);
        return $row->id;
    }else{
        return 0;
    }

    А на случай, если return() не сработает, у нас есть break

    Khvorostin, 16 Сентября 2014

    Комментарии (7)
  8. PHP / Говнокод #16702

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $c=count($arr1);
    for($i=0;$i<$c;$i++){
    	$key=key($arr1);
    	ksort($arr1[$key]);
    	next($arr1);
    }

    foreach() чем-то не угодил

    Khvorostin, 16 Сентября 2014

    Комментарии (0)
  9. PHP / Говнокод #16468

    +154

    1. 1
    <option<?=($qqrow->ServiceID==$row->ID&&!isset($servid))?" selected":""?><?=(isset($servid))?($servid==$row->ID)?" selected":"":""?> value="<?=$row->ID?>"><?=$row->Name?>

    Khvorostin, 04 Августа 2014

    Комментарии (0)
  10. PHP / Говнокод #16452

    +155

    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
    $query = "SELECT DATE_FORMAT(`Date`, '%d.%m.%Y') 'dat',
                             DATE_FORMAT(`Date`, '%Y-%m-%d') 'd'
                        FROM Sklad
                       WHERE OrderID = '{$row->ID}'
                         AND OrderStatusID = 6
                         AND Kol < 0";
            
            $qsklad_data = mysql_fetch_object(mysql_query($query));
    
            if ($row->DateFakt == "00.00.0000") {
               
                $query = "UPDATE Orders
                             SET DateFakt = '{$qsklad_data->d}'
                           WHERE ID = '{$row->ID}'";
    
                $qupddd = mysql_query($query);
            }

    Паттерн программирования: сначала сделать запрос к БД, а потом проверить, нужны ли нам его результаты. $qsklad_data используется только здесь. И опять же два SQL-запроса там, где мог быть один.

    Khvorostin, 31 Июля 2014

    Комментарии (5)
  11. SQL / Говнокод #16451

    −116

    1. 1
    2. 2
    $qkolsum = mysql_fetch_object(mysql_query("SELECT SUM(Kol) 's' FROM PostavkiDetail WHERE PostavkiID = '{$qspec->PostavkiID}'"));
    $qkolsumitog = mysql_fetch_object(mysql_query("SELECT SUM(SumItog) 's' FROM PostavkiDetail WHERE PostavkiID = '{$qspec->PostavkiID}'"));

    Тут и PHP не особо хороший, но соль все-таки в двух запросах к одной таблице. Посчитать суммы в двух колонках с помощью одного запроса - это, видимо, что-то запредельное.

    Khvorostin, 30 Июля 2014

    Комментарии (13)