如何迭代php循环并以HTML下拉形式显示数据?

时间:2015-10-29 08:34:15

标签: php html

我有一些php列出了一堆选项(通过循环)并在页面上打印出来,每行都有一个新行。

我希望这些选项出现在动态大小的下拉HTML列表中,每个列表都有不同的选项值。

这是PHP(它完美地运行):

if($postOpts) {
    foreach($postOpts as $option)
        echo $option["name"]." - ".$option["price"]."<BR>";
}


//Otherwise, present the default postage option for domestic or international.
else {
        echo "Default Shipping Option - $".$post->getDefaultPrice();
}

我有一个表单但是您可以看到选项的表单数量是静态的而不是动态的:

<form> <!-- form action will go here --> 
                <div class="form-group col-xs-12">
                    <div class="col-xs-3 col-md-2 form-label"><label>Shipping Options:</label></div>
                    <div class="col-xs-4 col-md-3">
                        <select class="form-control" name="list" title="pick a type"> 
                            <!-- I assume I need to iterate through options here --> 
                            <option value="01">Shipping1</option> 
                            <option value="02">Shipping2</option> 
                            <option value="03">Shipping3</option>
                        </select>
                    </div>
                </div>
            </form>

编辑我忘记了PHP中的其他声明,请检查。

2 个答案:

答案 0 :(得分:1)

用此替换你的选择,

<select class="form-control" name="list" title="pick a type"> 
    <?php if(count($postOpts)) { ?>
       <?php foreach($postOpts as $row) { ?>
            <option value="<?= $row["price"] ?>"><?= $row["name"] ?></option> 
        <?php } ?>
    <?php } else { ?>
             <option value="<?= $post->getDefaultPrice() ?>"><?= "Default Shipping Option - $".$post->getDefaultPrice() ?></option> 
    <?php } ?>
</select>

答案 1 :(得分:0)

你可以试试这个

    <form> <!-- form action will go here --> 
            <div class="form-group col-xs-12">
                <div class="col-xs-3 col-md-2 form-label"><label>Shipping Options:</label></div>
                <div class="col-xs-4 col-md-3">
                    <select class="form-control" name="list" title="pick a type"> 
                        <option value="">Choose type</option>
                        <?php foreach($postOpts as $option) { ?>
                            <option value="<?php echo $option['name'].' - '.$option['price'];?>"><?php echo $option["name"]." - ".$option["price"]; ?></option> 
                        <?php } ?>
                    </select>
                </div>
            </div>
        </form>