PHP foreach循环打印出html列表框选项

时间:2013-12-03 06:03:31

标签: php mysql listbox

这是我的第一篇文章。

我目前正在从我的MySQL数据库中取出两个字段并使用fetch all,并尝试将这些字段中的数据转换为列表框中的选项。

这是我的代码:

<fieldset class="contact"> 
<legend>Select a Band</legend>
<!-- Drop List -->    
<select id="lst1" name="lst1" tabindex="281" size="1">

    <?php
     foreach ($bands as $band) {
        $name = $band["fldBand"];
        $id = $band["pkID"];
        $options .= '&lt;option value="' . $id . '"&gt;' . $name . '&lt;/option&gt;';
     }
     echo $options; 
    ?>

</select>

这是回显$ options的结果:

<option value="1">Rise Against</option><option value="2">Alter Bridge</option><option value="3">Falling In Reverse</option><option value="4">Saosin</option><option value="5">Pennywise</option><option value="6">The Killers</option><option value="7">Thrice</option><option value="8">Four Year Strong</option>

我想让foreach循环打印出代码,这些代码将成为我的listbox lst1的选项,但它目前无效。关于为什么的任何想法?

2 个答案:

答案 0 :(得分:1)

<?php
     foreach ($bands as $band) {
        $name = $band["fldBand"];
        $id = $band["pkID"]; ?>
      <option value = "<?php echo $id; ?>"><?php echo $name; ?></option>

    <?php } ?>

答案 1 :(得分:1)

试试这段代码。在你的代码'&amp; lt'和'&amp; gt'中制作html实体格式。所以html不接受它作为标签。

<select id="lst1" name="lst1" tabindex="281" size="1">

    <?php

     foreach ($bands as $band) {
        $name = $band["fldBand"];
        $id = $band["pkID"];
        $options .= '<option value="' . $id . '>' . $name . '</option>';
     }
     echo $options; 
    ?>

</select>