【问题标题】:How can I iterate through a php loop and display the data in a HTML drop down form?如何遍历 php 循环并以 HTML 下拉表单显示数据?
【发布时间】:2016-01-29 07:20:32
【问题描述】:

我有一些 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>

EDIT我忘记了PHP中的其他else语句,请检查。

【问题讨论】:

标签: php html


【解决方案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>

【讨论】:

  • 没有选项出现,我假设是因为其中没有 if($postOpts) ?我无法弄清楚将其放入的语法
  • 这两个东西都出现在同一个页面中吗??
  • @bandoy123 立即查看答案。
  • 哎呀,对不起,这是我的错。请检查我的新 PHP 代码编辑,我忽略了 else
  • 立即查看答案。
【解决方案2】:

你可以试试这个

    <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>

【讨论】:

  • 没有选项出现,我假设是因为其中没有 if($postOpts) ?我无法弄清楚将其放入的语法
  • 糟糕,请检查我所做的编辑,我忘记了 else 子句
猜你喜欢
  • 2020-02-22
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多