使用php为选择框创建选项

时间:2013-12-14 00:03:20

标签: php html

我想创建一个非常简单的<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来生成选项,而不是手动创建它们。

我该怎么做呢?

5 个答案:

答案 0 :(得分:5)

您可以使用:

<select>

<?php

    define('MAX_OPTIONS', 6);

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

?>

</select>

请注意<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属性(应该包含{{1}}属性,则没有选择框可以正常工作表示选项的值。)

If needed, read this to gain a better understanding of how select works

答案 1 :(得分:0)

for ($i = 0; $i <= 10; $i++){
    echo "<option>" . $i . "</option>";
}

答案 2 :(得分: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>

此函数输出所请求的代码。

答案 3 :(得分:0)

您可以使用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;
    }
?>

答案 4 :(得分:0)

我偶然发现了这个代码片段。我最终写了一个函数调用及其附带的所有内容(尽管这里我将CSS放在样式标签中,而不是CSS文件中)

您可以将其放入,它将起作用。

            <?php
            function createOptionBox($boxName,$boxClass ,$productArray){

                $boxHtml = '<select name="'.$boxName.'" class="'.$boxClass.'">';

                for($x=0;$x<count($productArray);$x+=2){

                    $boxHtml .= '<option value="'.$productArray[$x].'">'.$productArray[$x+1].'</option>';

                }

                $boxHtml .= '</select>';

                return($boxHtml);
            }

            $productArray = array("1","ipad","2","phone");
            $boxName = "products";
            $boxClass = "productSelect";

            $productDropDown = createOptionBox($boxName,$boxClass ,$productArray);
            ?>
            <style>

                .productSelect{
                    font-size:12pt;
                    padding: 5px;
                }

            </style>

            <p><?php echo $productDropDown;?></p>

只需使用array_push,即可从数据库(如mysql)轻松设置productArray。

希望这对某人有帮助。