Создайте параметры для поля выбора, используя php

0

Я хочу создать очень простой блок <select> содержащий только цифры, 1,2,3 и т.д. Поэтому очень просто хочу

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
</select>

Тем не менее, я хотел бы использовать PHP для генерации параметров вместо того, чтобы создавать их вручную.

Как я могу это сделать?

Теги:

4 ответа

3
Лучший ответ

Вы можете использовать это:

<select>

<?php

    define('MAX_OPTIONS', 6);

    for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){
        echo '<option>' . $optionIndex . '</option>';
    }

?>

</select>

Обратите внимание, что тег open и close для <select> - это прямой вывод, а не PHP-код, таким образом, теги PHP.

Вы также можете просто распечатать все через PHP:

<?php

    define('MAX_OPTIONS', 6);

    echo '<select>';
    for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){
        echo '<option>' . $optionIndex . '</option>';
    }
    echo '</select>';

?>

намек

Наконец, чтобы сделать небольшой шаг к более структурированному программированию, вы могли бы создать функцию:

<?php

    function createSelectBox($optionCount){
        $out = '<select>';
        for($idx=1; $idx <= $optionCount; $idx++){
            $out .= '<option>' . $idx . '</option>';
        }
        $out .= '</select>';
        return $out;
    }

?>

А потом назовите его - из PHP (!!) - вот так:

<?php

    echo createSelectBox(6);

?>

Так как ваш сгенерированный HTML-код будет выглядеть красиво и функционально, он не будет служить какой-либо практической цели, потому что ни один из них не может работать без тегов <option> которые обслуживаются атрибутом value (который должен содержать значение, представляющее опцию).

Если необходимо, прочитайте это, чтобы лучше понять, как работает select

  • 0
    Спасибо, это работает отлично. Теперь я хотел бы сохранить выбранное значение (если оно выбрано) в переменную $number . Как мне это сделать?
  • 0
    Это потребует от вас отправки данных обратно из form (которая должна включать сценарий select на PHP на вашем сервере, который затем сделает все остальное. Однако для этого потребуется сначала добавить атрибут value для каждой option и дать select атрибут name (и, как упоминалось ранее, использование form , содержащей select ). Есть способы сделать это без формы (с помощью javascript, чтобы select запрос как AJAX, но это слишком сложно и вероятно, не имеет смысла в вашей среде программирования.
Показать ещё 7 комментариев
0

Вы можете создать selectbox с помощью sprintf, чтобы упростить организацию данных.

<?php

    function createSelectBox($arr){

        $options= '<select>';
        for($i=0; $i <= count($arr); $i++){
            $options .= sprintf("<option value='%s'>%s</option>", $arr[$i]['ID'], $arr[$i]['title']);
        }
        $options .= '</select>';
        return $options;
    }
?>
0
for ($i = 0; $i <= 10; $i++){
    echo "<option>" . $i . "</option>";
}
0
<?php

function options($num) {
    $options = '';

    for ($i = 1; $i < $num + 1; $i++)
    {
        $options .= "\t<option>" . $i . "</option>\n";
    }

    return $options;
}
?>

<select>
    <?php echo options(6); ?>
</select>

Эта функция выводит запрошенный код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню