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

    +188.6

    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
    SELECT
    CONCAT('<td align=center><input type=Checkbox name=del[] value=', t1.id, '>') AS 'X'
    ,CONCAT('<td align=center>', t1.id) AS '\#'
    ,CONCAT('<td align=center><a href=index.php?func=$func&ptab=$ptab&pid=$pid&id=',  t1.id, '>', IF(t1.name<>'', t1.name, '<i>Pending...</i>'), '</a>') AS 'Transaction ID'
    ,CONCAT('<td><a href=index.php?func=user&id=',  t2.id, '>', CONCAT(t2.fname, ' ', t2.lname), '</a>') AS 'User'
    ,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>history</a>') AS 'Med'
    ,CONCAT('<td align=right>', t1.amt, ' ') AS 'Amount'
    ,CONCAT('<td align=center style=\"font-size: 10px;\" title=\"', t1.data_ord, '\">',  LEFT(t1.data_ord, 10)) AS 'Order date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_pay, LEFT(t1.data_pay, 10), '<b>Not paid</b>')) AS 'Pay date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_send, LEFT(t1.data_send, 10), '<b>Not sent</b>')) AS 'Send date'
    ,CONCAT('<td align=center><a href=index.php?func=items&ptab=$func&pid=',  t1.id, '>', sum(t3.quant), ' Items</a>') AS '# items'
    #,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>', count(t7.id), ' answ</a>') AS '# answ'
    ,CONCAT('<td align=center>', CASE WHEN (t1.sv_type=2) THEN \"Waiting\" WHEN (t1.sv_type=-2) THEN \"<font color=FF0000><b>Rejected</b></font>\" WHEN (t1.sv_type=-1) THEN \"<font color=FF0000>Declined</font>\" WHEN (data_send AND track_num2 <> '') THEN \"<b>Re-Done</b>\" WHEN (data_send) THEN \"<b>Done</b>\" WHEN (t1.sv_type=1) THEN \"<font color=008080>Ready to ship</font>\" WHEN (data_pay) THEN \"<font color=008000>Approved</font>\" WHEN (t1.err > 0) THEN \"<font color=FF0000>Failed</font>\" ELSE \"<font color=808080>Pending</font>\" END) AS 'Status'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.doctor) AS 'D'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.bonus) AS 'B'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.err) AS 'Err'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.sv_type) AS 'S#'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.pay) AS 'PM'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.partner) AS 'P'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  MID(t6.url, 8)) AS 'Shop'
    ,CONCAT('<tr><td colspan=19 style=\"font-size: 10px;\"><a target=\"_blank\" href=\"',  t1.referer, '\"><b>URL Referrer</b>: ', LEFT(t1.referer, 150), '</a><tr><td colspan=19 bgcolor=55555>') AS ''
    
    FROM $func t1
     и т.д.

    Такой вот sql-запрос с html разметкой. А вы говорите MVC :)

    Запостил: awax, 17 Марта 2010

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

    • сурово) даже инлайн стили)))
      Ответить
    • Круто, я так не умею...
      Ответить
    • Клёво. Самое адское, что я делал подобным образом - в скрипте на похапэ был запрос, он выбирал из базы данные, оборачивал их, и в результате получались инсерты для фиребёрда, которые потом уже просто дополнялись insert into слева и закрывающей скобкой справа.
      Упрощённая версия выглядела примерно так:
      select concat(ld.`ID`,',\'',replace(ld.`NAME`,'\'','\'\''),'\',\'',replace(ld.`UNITS`,'\'','\'\''),'\',',ld.`PACK`,',',ld.`PRICE`,',\'',
      replace(ld.`ID2`,'\'','\'\''),'\',\'',replace(ld.`ID3`,'\'','\'\''),'\',\'',replace(ld.`DAT0`,'\'','\'\''),'\',\'',replace(ld.`COUNTRY`,'\'','\'\''),
      '\',\'',replace(ld.`DESC`,'\'','\'\''),'\',\'',replace(ld.`DAT1`,'\'','\'\''),'\',\'',replace(ld.`DAT2`,'\'','\'\''),'\',',ld.`WEIGHT`)
      from `loadings` ld
      Ответить
    • Это 5
      Ответить
    • MySQL 3/4 was considered to be faster than PHP 3/4 in strings operations. Some experts recommend HTML to be returned by the SQL Server, rather than being echo-ed.

      I guess this code is old, probably 2000-2002.
      Ответить
      • Это все объясняет. Но верстка - говно )
        Ответить
      • может оно и так, но пихать в мускуль слона, а потом его-же и забирать обратно - это ахуэнно....
        Ответить
      • А ты уверен, что раз на раз придётся? Есть такие слоухостинги, у которых мало того что СУБД лежит на другом физическом сервере, так ещё и по каким-либо причинам тупит либо сервер БД, либо ЛВС. Так что как повезёт.
        Ответить
    • серьезная заявка на победу.
      Ответить
    • Пиздец, вася! убить шоб не мучался...
      Предлогаю вообще все варианты сайта от <html> до </html> в базе держать, и вычитывать всю страничку по id )))))))
      Ответить
      • Это называется кэширование средствами MySQL. ))
        Ответить
        • Кеширование в мускуле? Для хайлоад проектов стараются сократить кол-во запросов и их объемы к БД, а тут собрались кеш в БД хранить, т.е. гонять между веб-сервером и бд огромные объемы траффика.
          Ответить
      • а что тут такого, друпал например так и работает
        Ответить
    • да хочется просто взять и уебать!!
      Ответить
    • Болел примерно тем же самым, когда-то )
      Ответить
    • А где во всем этом PHP?
      Ответить
      • FROM $func
        наверное по большому счету стоило это запостить в SQL, но когда подумал об этом, было уже поздно.
        Ответить
    • Да эт ладно... вот когда так ПОЛНОСТЬЮ написано ядро продукта у компании с мировым именем... становится стыдно за свою работу... Только у нас JSP
      Ответить

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