HTML中的下拉列表,其中包含基于php行的选项

时间:2018-11-19 09:18:39

标签: php html mysql drop-down-menu

我想根据从MySQL数据库获得的选项制作一个下拉列表。此时,我的代码如下:

<?php
if ($resultCheck12 > 0) {
    while ($row = mysqli_fetch_assoc($result12)) { ?>
        <select name="storage_location[]" required>
            <option value=""></option>
            <option value="<?php echo $row['id']; ?>"><?php echo $row['storage_name']; ?></option>
        </select>
<?php } } ?> 

如果不进行系统编码,则此代码应产生如下结果:

<select name="sample_group[]" class="sample_group" required>
    <option value=""></option>
    <option value="water">Water</option>
    <option value="pharmaceutical">Pharmaceutical</option>
    <option value="food">Food</option>
    <option value="food">Swabs</option>
    <option value="custom">Custom</option>
</select>   

但是结果产生这样的东西:

<select name="sample_group[]" class="sample_group" required>
    <option value=""></option>
    <option value="water">Water</option>
</select>
<select name="sample_group[]" class="sample_group" required>
    <option value=""></option>
    <option value="pharmaceutical">Pharmaceutical</option>
</select>
<select name="sample_group[]" class="sample_group" required>
    <option value=""></option>
    <option value="food">Food</option>
</select>
<select name="sample_group[]" class="sample_group" required>
    <option value=""></option>
    <option value="swabs">Swabs</option>
</select>
<select name="sample_group[]" class="sample_group" required>
    <option value=""></option>
    <option value="custom">Custom</option>
</select>

与生成单个下拉列表不同,它为MySQL数据库中的每个变量创建了一个下拉列表。

有什么办法解决此问题吗?

2 个答案:

答案 0 :(得分:1)

    <?php
       if ($resultCheck12 > 0) { ?>
          <select name="storage_location[]" required>
            <option value=""></option>
            <?php while ($row = mysqli_fetch_assoc($result12)) { ?>
            <option value="<?php echo $row['id']; ?>"><?php echo $row['storage_name']; ?></option>
          <?php }  ?> 
        </select>
     <?php }  ?> 

select标记应位于while循环之外

答案 1 :(得分:0)

您在select循环内使用while标记,这就是它重复多次的原因。

<?php if ($resultCheck12 > 0) { ?>
    <select name="storage_location[]" required>
        <option value=""></option>
        <?php while ($row = mysqli_fetch_assoc($result12)) { ?>
            <option value="<?php echo $row['id']; ?>"><?php echo $row['storage_name']; ?></option>
        <?php } ?>
    </select>    
<?php } ?>