"PHP" / Говнокод #140 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
echo “<select id=\”seltel[".$i."]\”>”;
switch ($data2["PHONE"][$i]["type"]) {
case “Факс”:
echo “<option selected>Факс”;
echo “<option>Офисный телефон”;
echo “<option>Колцентр”;
echo “<option>Телефон”;
echo “<option>Мобильный телефон”;
break;
case “Офисный телефон”:
echo “<option>Факс”;
echo “<option selected>Офисный телефон”;
echo “<option>Колцентр”;
echo “<option>Телефон”;
echo “<option>Мобильный телефон”;
break;
case “Колцентр”:
echo “<option>Факс”;
echo “<option>Офисный телефон”;
echo “<option selected>Колцентр”;
echo “<option>Телефон”;
echo “<option>Мобильный телефон”;
break;
case “Телефон”:
echo “<option>Факс”;
echo “<option>Офисный телефон”;
echo “<option>Колцентр”;
echo “<option selected>Телефон”;
echo “<option>Мобильный телефон”;
break;
case “Мобильный телефон”:
echo “<option>Факс”;
echo “<option>Офисный телефон”;
echo “<option>Колцентр”;
echo “<option>Телефон”;
echo “<option selected>Мобильный телефон”;
break;
};
echo “</select><br/>”;

вот как надо создавать выпадающие списки!

Запостил: guest guest, (Updated )

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

  • Dr.Freez:
    страйко пади сам такие конструкции юзает)
    Ответить
  • M-K:
    Тут надо поменьше echo и побольше нормального HTML? Или что-то еще не так?
    Ответить
  • страйко:
    [quote=M-K]
    Тут надо поменьше echo и побольше нормального HTML? Или что-то еще не так?
    [/quote]
    тут достаточно задать список значений выпадающего списка и уже выбирать к какому из них делать selected.
    Ответить
  • Говноодмин:
    #5 Батько, поздравляем, вы можете высылать на свои работы
    Ответить
  • крабик в гробике:
    Них-чево в программировании не понимаю(быдлокодер), я бы сделал так:
    [code=php]
    /* Автор не знает, чем отличаются одинарные кавычки от двойных(знаков дюйма), переписано под одинарные: строки записаные в одинарные кавычки + конкатенация через точку — поднимает производительность. */
    $phone_type = array('телефон','Факс','Офисный' 'телефон','Колцентр','Телефон','Мобильны й телефон'); /* Ага, одно с большой буквы, другое — с маленькой. Татьяныч бы за такое убил */

    switch ($data2["PHONE"][$i]["type"]) {
    case 'Факс':
    $list_selected = 1;
    break;
    case 'Офисный телефон':
    $list_selected = 2;
    break;
    case 'Колцентр':
    $list_selected = 3;
    break;
    case 'Телефон':
    $list_selected = 4;
    break;
    case 'Мобильный телефон':
    $list_selected = 5;
    break;
    } /* после фигурной скобки точка-с-запятой не ставится, или я вообще забыл, как_это_было_на_самом_деле?.. */

    echo '<select id="seltel['.$i.']">'; /* Видимо, автора задолбали переменные, которые он наплодил, и он ничего не знает про область видимости, и его фантазия в придумывании переменных закончилась. Ну и он всю форму засовывает в ячейки массива */

    foreach($phone_type as $list_item) {
    $i = 0; $i++;
    $option_selected = '';
    if($i === $list_selected) $option_selected = ' selected="selected"';
    echo '<option'.$option_selected.'>'.$list_ite m.'</option>';
    }
    echo '</select><br />';
    [/c
    Ответить
  • крабик в гробике:
    $i = 0;
    $i = 0;

    там ещё есть такой указатель в пхп, чтоб переменная присваивалась только один раз, я его забыл
    Ответить
  • крабик в гробике:
    А вообще эпичный говнокод, ржалъ!!
    не, всё-таки я неправ, там в последнем цикле надо поставить вначале $i=1; а в конце цикла ставить инкремент.
    Ответить
  • крабик в гробике:
    Них-чево в программировании не понимаю(быдлокодер), я бы сделал так:
    /* Автор не знает, чем отличаются одинарные кавычки от двойных(знаков дюйма), переписано под одинарные: строки записаные в одинарные кавычки + конкатенация через точку - поднимает производительность. */
    $phone_type = array('Факс','Офисный','Колцентр','Телефон','Мобильный телефон');
    
    switch ($data2["PHONE"][$i]["type"]) {
    case 'Факс':
    $list_selected = 1;
    break;
    case 'Офисный телефон':
    $list_selected = 2;
    break;
    case 'Колцентр':
    $list_selected = 3;
    break;
    case 'Телефон':
    $list_selected = 4;
    break;
    case 'Мобильный телефон':
    $list_selected = 5;
    break;
    } /* после фигурной скобки точка-с-запятой
    не ставится, или я вообще забыл, как_это_было_на_самом_деле?.. */
    
    echo '<select id="seltel['.$i.']">'; /*
    Видимо, автора задолбали переменные, которые он наплодил, и он ничего не знает про область видимости, и его фантазия в придумывании переменных закончилась. Ну и он всю форму засовывает в ячейки массива */
    
    foreach($phone_type as $list_item) {
        $i = 1;
        $option_selected = '';
        if($i === $list_selected)
        $option_selected = 
        ' selected="selected"';
        echo '<option'.$option_selected.'>'
        .$list_item.'</option>';
        $i++;
    }
    echo '</select><br />';


    Извините за быдлокод, изучал ПХП поверхностно, высшей математики не знаю.

    Там
    Ответить
    • >высшей математики не знаю.
      Она ведь просто необходима, чтобы написать выпадающий список!
      Ответить
  • $phone_type = array('Факс','Офисный','Колцентр','Телефон','Мобильный телефон');
    echo '<select id="seltel['.$i.']">'; 
    foreach($phone_type as $list_item) {
        $option_selected =($data2["PHONE"][$i]["type"] == $list_item)?  ' selected="selected"': '';
        echo "<option $option_selected>$list_item</option>";// можно и в одну строчку
    }
    echo '</select><br />';

    mapron
    Ответить
    • $phone_type = array('Факс','Офисный','Колцентр','Телеф он','Мобильный телефон');
      $option_selected[$data2["PHONE"][$i]["type"]]='selected';
      foreach($phone_type as $list_item) $options.='<option '.$option_selected[$list_item].'>'.$list_item.'</option>';
      echo '<select id="seltel['.$i.']">'.$options.'</select>';
      Ответить
  • Сцуко, не перевелись еще вундеркинды.
    Сий ГК неоправданно обделен в оценках (+81.3 на момент данного коммента вместе с моим голосом), как минимум раз в 10. Это же жемчужина среди всех говнокодов!
    Ответить
  • $contacts = array('Факс','Офисный','Колцентр','Телефон','Мобильный телефон');
    $out =  '<select id=”seltel['.$i.']”>';
    foreach($contacts as $contact) {
        $selected = $contact==$data2["PHONE"][$i]["type"] ? ' selected="selected"' : '';
        $out .= '<option'. $selected.'>'.$contact.'</options>';
    }
    $out .= '</select>';
    echo $out;
    Ответить
    • Иди на хуй придурок, там, видимо, не в одном месте эта дрянь:
      function buildSelect( $i, $ar=array(), $sel=null ) {
        $out = array();
        foreach($ar as $v) 
            $out[] = "<option" . (($sel==$v)? ' selected':'') . ">$v</options>";
      
      return "<select id=\"seltel[$i]\">" . implode('', $out) . "</select>";
      }
      // ...
      $contacts = array('Факс','Офисный','Калцентр','Телефон','Мобильный телефон');
      echo buildSelect( $i, $contacts, $data2["PHONE"][$i]["type"]);
      Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8