选择选项列表中的订单值 - php

时间:2016-12-28 10:41:55

标签: php arrays sorting html-select

我是编码新手并拥有以下选择选项列表,返回无序值。代码检查数据库中的现有值(卧室数)并将其作为选项返回到列表中。我想以递增的方式订购它们:

<select class="bedrooms" name="Bedrooms" id="Bedrooms" >
    <option value="">BEDROOMS</option>
      <?php if ($bed_room): ?>          
        <?php foreach ($bed_room as $key => $value): ?>
            <option value="<?php echo $value['bed_room'] ?>"><?php echo $value['bed_room'] ?></option>
        <?php endforeach; ?>
      <?php endif ?>
</select>

2 个答案:

答案 0 :(得分:0)

你必须在你的文件中搜索($ bed_room),以便你可以看到它从哪里获取值,然后你可以根据需要对它进行排序

或者您可以自己对数组进行排序

natsort($bed_room);

<select class="bedrooms" name="Bedrooms" id="Bedrooms" >
<option value="">BEDROOMS</option>
  <?php if ($bed_room): ?> 
    <?php natsort($bed_room);>         
    <?php foreach ($bed_room as $key => $value): ?>
        <option value="<?php echo $value['bed_room'] ?>"><?php echo $value['bed_room'] ?></option>
    <?php endforeach; ?>
  <?php endif ?>

答案 1 :(得分:0)

如果由于某种原因您无法更改数据库查询中的排序顺序,则可以使用许多array sorting functions对数组进行排序。

,例如,如果您想通过对$ bed_room进行排序:

sort($bed_room);

或者,如果由于某种原因它是一个关联数组(我觉得这没有多大意义)

asort($bed_rom);

如果是这种情况,并且您希望按排序:

ksort($bed_room);

(其中任何一个,在foreach之前)。

但是,再次排序数据库查询可能会更有效率。