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

    +45

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if($data['status'] == 1 ) {
             $data['status_a'] = 'selected="selected"';
             $data['status_d'] = false;
        } else {
              $data['status_a'] = false;
              $data['status_d'] = 'selected="selected"';
         }
     
    echo '<select id="status">
           <option value="1" '.$data['status_a'].'>Активный</option>
            <option value="0" '.$data['status_d'].'>Не активный</option>
    </select>';

    Мой говнокод, виноват! Но все же интересно было бы, как с таким справляются ?

    Запостил: nepster, 29 Августа 2012

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

    • А зачем собственно data["status_a"] и data["status_d"], если в селектах можно проверять просто data["status"] на равенство и не равенство 1, да и может в данном случае использовать чекбокс, а не селект. Ну и про шаблонизаторы не мешает узнать, Smarty и т.д. В конце концов пых тоже позволяет шаблонизировать, если уж на то пошло.
      Ответить
    • <option <?if($data['status'] == 1):?>selected<?endif;?>>Act</option>
      <option <?if($data['status'] != 1):?>selected<?endif;?>>Not Act</option>
      Ответить
    • а если к примеру не 2 option, а поболее то придется обрабатывать каждый, уже не удобно

      <select id="status">
      <option value="1" >Активный</option>
      <option value="0">Не активный</option>
      <option value="-1">Заблокирован</option>
      <option value="-2">В ожидании</option>
      </select>

      Я как то делал меню и был такой селект, выбор новостей по определенным параметрам.
      К примеру, за день, неделю, месяц, год, по рейтингу, случайные, новые.

      И я уже подключал js, там уже проще. А вот если нужно обойтись без jquery и без шаблонизатора, если пару небольших файликов (например как модуль для цмс), то выходит проблематично с такой ситуацией.
      Ответить
    • циклы наше все
      Ответить
    • Активный, пассивный, не определился.
      Ответить
    • >Но все же интересно было бы, как с таким справляются ?
      http://stackoverflow.com/
      Ответить
    • Вариант с неактивным поднять вверх, т.е. опшн с значением равным нулю должен идти первым. Проверять надо только для статуса "активный". Если ни один опшн в селекте не будет "селектед", браузер покажет первый из списка, а если "активный" будет "селектед", то и браузер сам промотает опшны до него... Хотя их тут всего два...
      Ответить

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