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

    +145.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
    	do{
    	$id=$test['id'];
    
    	?>
    
    ...
    
    <?php
    
    		}while($test = mysql_fetch_array($temp));
    	?>

    Запостил: creatizmo, 02 Марта 2010

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

    • Я, pee, находясь в здравом уме и твердой памяти, торжественно заявляю: КО приди и объясни.
      Ответить
      • creatizmo такой креатизмо

        К.О.
        Ответить
      • Я так понял, прикол в том, что в цикле никак не используются данные, полученние от mysql. Т.е. всё кол-во записей полученных от MySQL является лишь жалким счётчиком, а не источником реальной информации :).
        Ответить
        • А вы точки заметили между php-кодом?
          Ответить
          • А вы не заметили, что эти точки находятся как раз между "?>" и "<?php" ?
            Ответить
            • Заметил. Эти точки могут содержать что угодно и как раз там выводится информация из таблицы, а не просто цикл гоняется впустую
              Ответить
              • Тогда странно, что эти "?>" и "<?php" не были списаны в то же троеточие. Специально ведь не убрано и акцентируют внимание на их существование.
                Ответить
        • автор хотел намекнуть, что говнокод в том, что html с кодом перемешивается.
          Ответить
    • А если запрос вернет 0 строк?
      Ответить
      • Не имеет значения - конструкция do гарантированно выполнится один раз.
        Ответить
        • Вот именно. Строк должно быть ноль. А будет одна, не понятно с чем.
          Ответить
    • А что в $test до входа в цикл?
      Ответить
      • Все что угодно: начиная от null и заканчивая дефолтным объектом, которым заполняется первая строка, ну или че там цикл этот внутри делает.

        Без знания того, что внутри и снаружи цикла - не говнокод.
        Ответить
    • хм, я конечно не ахти в пхп, но разве цикл не будет находиться в двух разных областях видимости?..

      <?php (начало цикла) ?>

      //какая-то хня, не входящая в пхп код

      <?php (конец цикла) ?>
      ----------------------------

      разве это не будет чо типа:

      void func1 ()
      {
      do {

      }

      void func2()
      {

      } while(<чото>);
      }
      Ответить
      • нет, так не будет
        Ответить
      • в php нет нормальных областей видимости. А
        white(smth) { ?><li><? }
        эквивалентно
        white(smth) { echo '<li>'; }
        Ответить
    • В чем ГК? В использовании do...while или смеси PHP и HTML?
      Ответить
      • ГК в том, что надо было проверить $test['id'] на наличие значения.
        Ответить
        • А переменную $temp не надо? Без контекста не понятно. Подозреваю, что переменная $test уже была определена до этого.
          Ответить
    • Наверное хотели показать, что некашерно 100500 раз открывать и закрывать интерпретатор php , и тем более разрывать таким образом цикл...

      и когда смотришь на такую строчку:
      }while($test = mysql_fetch_array($temp));

      поначалу, немного недогоняешь...
      Ответить

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