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

    +166.4

    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
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    <?
    $query="SELECT * FROM Communicators WHERE phoneID=$phoneID";
    $dba->query($query);
    list($phoneID, $brandID, $phoneModel, $phoneDate, $phonePriceRetail, $phonePriceWS,$phonePriceWS1, $phoneDescrShort, $phoneDescrFull, $phonePicShort, $phonePicFull,
    $phonePriceWSComment, $groupDefaultprice1, $groupDefaultprice2, $groupGroup2price1, $groupGroup2price2, $grouptempprice1, $grouptempprice2, $groupGorodprice1, $groupGorodprice2, $groupClientsprice1, $groupClientsprice2,
    $standards, $height, $width, $thickness, $weight, $batteryType, $batteryMAH, $standbyTime, $talkTime, $phoneBookSize, $video, $processor, $calendar, $wap, $OS, $GPRS, $EDGE, $java, $FMradio, $memcard, $bluetooth, $modem, $irda, $EMS, $MMS, $USB, $dictaphone, $camera, $colorDisplay, $twoDisplays, $outlookSynchro, $otherDescription, $games, $ringFileFormat, $innerMemory, $mp3player, $corpus, $WiFi, $videoCall, $GPS, $xtraDescr, $id_article)=$dba->get_row();
    ?>
    <h2>Описание <?=$brandName?> <?=$phoneModel?></h2>
    <b>Основные характеристики</b><br>
    <?if( $standards != "" ){?>Стандарт: <?=$standards?><br><?}?>
    <?if( $corpus != "" ){?>Тип корпуса: <?=$corpus?><br><?}?>
    Размеры, мм (Ш×В×Г): <?=$width?>×<?=$height?>×<?=$thickness?><br>
    <?if( $weight != "" ){?>Вес: <?=$weight?> г<br><?}?>
    Аккумулятор: <?if( $batteryType != "" ){?><?=$batteryType?>, <?}?><?if( $batteryMAH != "" ){?><?=$batteryMAH?> мА·ч<br><?}?>
    <?if( $processor != "" ){?>Процессор: <?=$processor?><br><?}?>
    <?if( ($innerMemory != "0") && ($innerMemory != 0) && ($innerMemory != "") ){?>Память RAM/ROM: <?=$innerMemory?><br><?}?>
    <?if( $memcard != "" ){?>Слоты расширения: <?=str_replace("+","есть",str_replace("-","нет",$memcard))?><br><?}?>
    <?if( $OS != "" ){?>Операционная система: <?=$OS?><br><?}?>
    <?if( $calendar != "" ){?>Органайзер: <?=str_replace("+","есть",str_replace("-","нет",$calendar))?><br><?}?>
    <br>
    <b>Связь</b><br>
    <?if( $USB != "" ){?>USB: <?=str_replace("+","есть",str_replace("-","нет",$USB))?><br><?}?>
    <?if( $irda != "" ){?>Инфракрасный порт: <?=str_replace("+","есть",str_replace("-","нет",$irda))?><br><?}?>
    <?if( $GPRS != "" ){?>GPRS: <?=str_replace("+","есть",str_replace("-","нет",$GPRS))?><br><?}?>
    <?if( $EDGE != "" ){?>EDGE: <?=str_replace("+","есть",str_replace("-","нет",$EDGE))?><br><?}?>
    <?if( $bluetooth != "" ){?>Bluetooth: <?=str_replace("+","есть",str_replace("-","нет",$bluetooth))?><br><?}?>
    <?if( $WiFi != "" ){?>Wi-Fi: <?=str_replace("+","есть",str_replace("-","нет",$WiFi))?><br><?}?>
    <?if( $GPS != "" ){?>GPS: <?=str_replace("+","есть",str_replace("-","нет",$GPS))?><br><?}?>
    <br>
    <b>Экран</b><br>
    <?if( $colorDisplay != "" ){?>Экран: <?=str_replace("+","есть",str_replace("-","нет",$colorDisplay))?><br><?}?>
    <?if( $twoDisplays != "" ){?>Сенсорный дисплей: <?=str_replace("+","есть",str_replace("-","нет",$twoDisplays))?><br><?}?>
    <br>
    <b>Мультимедийные возможности</b><br>
    <?if( $mp3player != "" ){?>MP3-плеер: <?=str_replace("+","есть",str_replace("-","нет",$mp3player))?><br><?}?>
    <?if( $ringFileFormat != "" ){?>Аудио форматы: <?=$ringFileFormat?><br><?}?>
    <?if( $FMradio != "" ){?>FM радио: <?=str_replace("+","есть",str_replace("-","нет",$FMradio))?><br><?}?>
    <?if( $dictaphone != "" ){?>Диктофон: <?=str_replace("+","есть",str_replace("-","нет",$dictaphone))?><br><?}?>
    <?if( $camera != "" ){?>Камера: <?=str_replace("+","есть",str_replace("-","нет",$camera))?><br><?}?>
    <?if( $video != "" ){?>Съемка видео: <?=str_replace("+","есть",str_replace("-","нет",$video))?><br><?}?>
    <?if( $videoCall != "" ){?>Видеозвонок: <?=str_replace("+","есть",str_replace("-","нет",$videoCall))?><br><?}?>
    <?if( $games != "" ){?>Игры: <?=str_replace("+","есть",str_replace("-","нет",$games))?><br><?}?>
    <?if( $otherDescription != "" ){?>
    <br>
    <b>Прочее</b><br>
    <?=nl2br($otherDescription)?>
    <?}?>

    Разгребаю это говно... Тот кто так пишет - недостоин жить :(

    Запостил: Yozheg, 17 Августа 2009

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

    • Епт, это не говнокод - это говнокодище
      Ответить
    • Ох, писать-кодить... кто ж такое сделал-то?!
      Ответить
    • русифицированый китайский фетиш?
      Ответить
    • >>Размеры, мм (Ш×В×Г):
      ширина высота глубина? о_О
      Ответить
    • хелп. скажите, как это можно написать по-нормальному? а то я так и пишу)
      Ответить
      • Как минимум тут надо выделить в отдельные файлы (классы, если используется ООП) загрузку данных из базы данных и отображение html-кода
        Настоятельно рекомендую ВНИМАТЕЛЬНО изучить хотя бы Smarty - очень помогает в разделении представления данных и собственно логики.
        Ответить
      • Я бы еще создал отдельно таблицу со свойствами телефона phone_properties (id, id_phone, name, value) и при сборке страницы дергал ее JOIN'ом стаблицей phones и может даже склеивал данные на ходу каким-нибудь хитровымудренным CONCAT'ом. Например так:
        SELECT
        p.*,
        GROUP_CONCAT(CONCAT('<b>',pp.name,'</b>:',pp.value,'<br />')) AS props
        FROM phones AS p,
        LEFT JOIN phone_properties AS pp ON pp.id_phone = p.id,
        WHERE p.id = $id
        GROUP BY p.id
        )

        За правильность и синтаксическую верность квери не ругайте. Не проверял, ибо лень :)
        Ответить
        • груп_конкат - это зло. посмотри explain этого запроса. уж лучше в цикле делать отдельные запросы, чем такое.
          Ответить
      • ЗЫ. И еще, выбирать данные из таблицы в численный массив - оно может быть и быстрее, но ни фига не удобнее. И думается мне, что вся эта быстрота напрочь убивается монструозным list()'ом, по которому расфасовываются поля. Бред
        Ответить
      • Спасибо за советы :)
        Ответить
    • Жесть... за такое надо убивать
      Ответить
    • это еще птичьи какашки :)
      Ответить
    • да ладно ) видно, что чел начинающий, и не знает, как по-другому это сделать. я вот щас яву изучаю, уверен, что мой код для ява-спецов выглядит так же уныло.
      Ответить
    • Эх, я на стадии изучения пыхи сам подобным образом делал :)
      Ответить
    • нормуль в БД хранить флаги есть/нет в виде плюсиков и минусиков, а как он их выводит это вообще жость -)
      Ответить
    • Это так работает Яндекс.Маркет? :)))
      Ответить
    • тпичное пыхоговнго
      Ответить

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