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

    +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
    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
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    $count_per_page = 15;
    $page = 1;
     
                    mysql_select_db($DB);
                    $result = mysql_query('SELECT round(count(id)/' . $count_per_page . ') FROM PRICELIST');
       $counts = mysql_fetch_row($result);
    $page_max = $counts[0];
    if (!empty($_GET['page'])) {
    $page = (int) $_GET['page'];
    if ($page > $page_max)
    $page = $page_max;
    if ($page < 1)
    $page = 1;
    }
                    $result=mysql_query('SELECT SQL_CALC_FOUND_ROWS * from PRICELIST  LIMIT ' .(($page - 1) * $count_per_page). ', ' .$count_per_page ); 
                     $cnt  = mysql_result(mysql_query('SELECT FOUND_ROWS()'), 0);
    if(mysql_num_rows($result)) { // выводим таблицу 
      echo "<td valign='right width='12%' height='15px' align='center' bgcolor=#FFFFFF>Артикул</td>
                    <td valign='right width='58%' height='' align='center' bgcolor=#FFFFFF>Наименование изделий</td>
     
                    <td valign='right width='10%' height='' align='center' bgcolor=#FFFFFF>Страна</td>
                    <td valign='right width='10%' height='' align='center' bgcolor=#FFFFFF>Ед</td>
                    <td valign='right width='15%' height='' align='center' bgcolor=#FFFFFF>Цена</td>
                    <td valign='right width='5%' height='' align='center' bgcolor=#FFFFFF>картинка</td>";
    while($row = mysql_fetch_assoc($result)) { 
    echo "</tr>";
    echo "<tr>";
    echo '<td align=left width=12% height=10% bgcolor=#FFFFFF>'.$row['artikul'].'</td><td width=48%  align=left bgcolor=#FFFFFF height=30px>'.$row['nametovar'].'</td><td width=15% align=left bgcolor=#FFFFFF height=10px>'.$row['country'].'</td><td width=10% align=left bgcolor=#FFFFFF height=10px>'.$row['edin'].'</td><td width=10% align=left bgcolor=#FFFFFF height=10px>'.$row['cena'].'</td><td width=5% align=left bgcolor=#FFFFFF height=5px><a id="example1" href="kartinki/' . $row['image'] .'"><img src="kartinki/' . $row['image'] .'" width=75px height=75px></a></td>'; 
     } 
    echo '</tr></table><table height=1% width=100%><tr><td align="center" colspan="5" bgcolor=#FFFFFF>';
    echo $i;
    for ($i=1; $i<=$page_max; ++$i) {
    if ($i != $page) {
    echo '<a href="?page='.$i.'"><font color=#1007b8>'.$i.'</font></a> ';
    }
    else {
    echo '<font color=#e59001>'.$i.' </font>';
            }
        }
    echo '<h5 align=center><font color=#e59001>Всего в прайс-листе '. $cnt .' позиций</font></h5>';
    }

    qbasic, 24 Декабря 2010

    Комментарии (1)
  2. Pascal / Говнокод #5042

    +97

    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
    var sum,x1,x2,y1,y2,i,k,l,m,n:longint;
    a:array[1..1000,1..2] of longint;
    b:array[1..100,1..100] of longint;
    
    procedure ws(x,y,c:longint);
    var k:longint;
    begin
      if (not((x-2<1)or(y-1<1)or(x-2>n)or(y-1>N))and(b[x-2,y-1]=0)) then begin inc(m);a[m,1]:=x-2;a[m,2]:=y-1;b[x-2,y-1]:=b[x,y]+1;end;
      if (not((x+2<1)or(y-1<1)or(x+2>n)or(y-1>N))and(b[x+2,y-1]=0)) then begin inc(m);a[m,1]:=x+2;a[m,2]:=y-1;b[x+2,y-1]:=b[x,y]+1;end;
      if (not((x-1<1)or(y-2<1)or(x-1>n)or(y-2>N))and(b[x-1,y-2]=0)) then begin inc(m);a[m,1]:=x-1;a[m,2]:=y-2;b[x-1,y-2]:=b[x,y]+1;end;
      if (not((x+1<1)or(y-2<1)or(x+1>n)or(y-1>N))and(b[x+1,y-2]=0)) then begin inc(m);a[m,1]:=x+1;a[m,2]:=y-2;b[x+1,y-2]:=b[x,y]+1;end;
      if (not((x-2<1)or(y+1<1)or(x-2>n)or(y+1>N))and(b[x-2,y+1]=0)) then begin inc(m);a[m,1]:=x-2;a[m,2]:=y+1;b[x-2,y+1]:=b[x,y]+1;end;
      if (not((x+2<1)or(y+1<1)or(x+2>n)or(y+1>N))and(b[x+2,y+1]=0)) then begin inc(m);a[m,1]:=x+2;a[m,2]:=y+1;b[x+2,y+1]:=b[x,y]+1;end;
      if (not((x-1<1)or(y+2<1)or(x-1>n)or(y+2>N))and(b[x-1,y+2]=0)) then begin inc(m);a[m,1]:=x-1;a[m,2]:=y+2;b[x-1,y+2]:=b[x,y]+1;end;
      if (not((x+1<1)or(y+2<1)or(x+1>n)or(y+2>N))and(b[x+1,y+2]=0)) then begin inc(m);a[m,1]:=x+1;a[m,2]:=y+2;b[x+1,y+2]:=b[x,y]+1;end;
    end;
    
    begin
    reset(input,'input.txt');
    rewrite(output,'output.txt');
    read(n);
    read(x1,y1);
    read(x2,y2);
    b[1,1]:=0;
    a[1,1]:=x1;a[1,2]:=y1;
    i:=0;m:=1;l:=1;
    while i<=m do begin inc(i);
      ws(a[i,1],a[i,2],i);
    end;
    write(b[x2,y2]);
    close(input);
    close(output);
    end.

    вот он, венец человеческого ума - рабочий поиск в ширину без использования рекурсии, написал сам, меня очень просили запостить тут))

    faraon124, 24 Декабря 2010

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    $e=mysql_fetch_assoc(mysql_query(" select * from conf_news where razdel='{$_GET["kind"]}' AND pub='yes' order by `date` desc limit 1 ")) ;
    $max_year=substr($e["date"],0,4);
    $e=mysql_fetch_assoc(mysql_query(" select * from conf_news where razdel='{$_GET["kind"]}' AND pub='yes' order by `date` limit 1 ")) ;
    $min_year=substr($e["date"],0,4);

    Как определить минимальную и максимальную дату в списке новостей? А вот как!
    Да, кстати, $_GET нигде не проверяется на SQL-инъекцию.

    (с) разработка под названием "CMS9"

    may_cat, 24 Декабря 2010

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

    +168

    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
    function getAlphabetList($list = null)
    {   
        $alphabet = split(' ', 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z');
    
        foreach($alphabet as $letter)
        {
            $has_letter = false;
            if(is_array($list))
            {
                foreach ($list as $value) 
                {
                        if(substr(strtoupper($value),0,1) == strpos($letter,$value,1))
                        {
                            $has_letter = true;
                        }                   
                }
            }
            
            if($has_letter)
            {               
                $output .= '<a href="?letter='.$letter.'">'.$letter.'</a> ';
            } else {
                $output .= $letter.' ';
            }
        }
        return $output;
    }

    Шерстим список записей, определяем, на какие буквы они начинаются, и для имеющихся букв генерируем гиперссылки. Мужика попросили разобраться, почему каталог на 126000 записей тормозит при отображении, и он увидел в коде это.
    http://thedailywtf.com/Articles/Thorough-Letter-Checking.aspx

    telnet, 24 Декабря 2010

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

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    
    error_reporting(E_ALL);
    if (isset($_GET["src"])) {
    if (stripos($_GET["src"], "http://") !== false || stripos($_GET["src"], "https://") !== false) { 
    die("Анонимус, пошёл на /*
    вырезано
    */
    if($ext == "jpg" or $ext == "jpeg"){
        $img = imagecreatefromjpeg($src);
    }

    защита от инклудов по HTTP от нашего любимого анального клоуна lstem aka komprenda

    Анонимус, 24 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    case "exit":
                unset($_SESSION["SITE_ADMIN"]);
                header("location: {$_SERVER["PHP_SELF"]}");
                die;
            break;

    выход "по-мишустински"
    не знаю как вам, а я словил лулзы

    цопырайты уходят komprenda, он же "Istem"

    Lure Of Chaos, 24 Декабря 2010

    Комментарии (1)
  7. Pascal / Говнокод #5037

    +92

    1. 1
    2. 2
    Result := not FExecuting;
    if not Result then Exit;

    сейчас работаю над правкой компонента доставшегося от другого разработчика :), причем эта вершина мысли была обнаружена в недрах левого компонента, используемого моим компонентом :) ,который использовал этот разработчик :), Сам код соправождаемого мною компонента не далеко по стилю ушел от этого куска

    ageron, 23 Декабря 2010

    Комментарии (40)
  8. Java / Говнокод #5036

    +73

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public abstract class EntityCRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter, DaoObject extends GenericDao<DataObject, DataKey>>
    		extends EntityManager<DaoObject> implements CRUDManager<DataObject, DataKey, Filter> {
    ...
    }
    
    public interface CRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter>{
    ...
    }
    
    public abstract class EntityManager<DaoObject extends GenericDao> extends Manager{
    ...
    }

    Во как!!!

    KILA, 23 Декабря 2010

    Комментарии (2)
  9. C# / Говнокод #5035

    +128

    1. 1
    if ((((((X >= -7) && (X<= -6) & (Y!=2)) || (X<= -2) && (X>= -6) && (Y<=0) && (Y>= -1) && (Y== 0.25*X + 0.5) || (X+ -2)*(X+ -2) + (Y+2)*(Y+2)==4) && (X >= -2) && (X<=0) && (Y>=0) && (Y<=2)|| (((X*X)+(Y*Y)==4)) && ((X>=0) && (X<=2) && (Y>=0) && (Y<=2))) || ((Y==0.5*X-1) && (X>=2) && (Y<=3) & (Y!=0)))) Console.WriteLine("Принадлежит");

    HIMen, 23 Декабря 2010

    Комментарии (20)
  10. C++ / Говнокод #5034

    +163

    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
    AClass::AClass()
    {
            char c;
    	pipe( m_ThreadPipeA );
    	pipe( m_ThreadPipeB );
            write( m_ThreadPipeA[0], &c, sizeof(c) );
    }
    
    void AClass::JobCreatorThread()
    {
    	char c;
    	do {
    		/* prepare new job and pass it to the thread pool */
    		read( m_ThreadPipeA[1], &c, sizeof(c) );
    		m_CurrJob = IncomingJob;
    		write( m_ThreadPipeB[0], &c, sizeof(c) );
    	} while (!m_Shutdown);
    }
    
    void AClass::ThreadPoolMethod()
    {
    	char c;
    	do {
    		Job j;
    		read( m_ThreadPipeB[1], &c, sizeof(c) );
    		j = m_CurrJob;
    		write( m_ThreadPipeA[0], &c, sizeof(c) );
    		/* handle the job j */
    	} while (!m_Shutdown);
    }

    из архивов.

    дала как-то архетиктура задание модуль распаралелить потоками - но при этом как можно меньше использовать локи, что бы проблем вертикального скалирования не возникало. и три месяца спустся они родили -о чудо!- многопоточный модуль ВООБЩЕ без локов. тока с производительностью проблемы - но это не могут быть локи потому что модуль ими ВООБЩЕ не пользуется - почему мне и дали задание посмотреть что там можно еще усовершенствовать.

    мне несколько часов понадобилось что бы мой примитивный мозг смог осознать величие полета мысли моих коллег. а потом (когда я наконец из моря кода выцедил приведенную сверху эссенцию) у меня волосы дыбом встали....

    лопата: чудаки пайпами симулировали мутексы/ивенты. и ведь не придерешься: архитекторы сказали локи избегать, а про пайпы ничего сказано не было.

    ЗЫ ну и то что в джоб объекте еще и строковых массивов на 80К, и они постоянно копировались туды сюды, это было cherry topping ко всему этому счастью.

    Dummy00001, 23 Декабря 2010

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