用一个数组填充多个SELECT

时间:2013-08-12 03:56:14

标签: arrays select fill

我遇到了一些我认为很奇怪的问题。至少我不知道为什么会这样。

我有一个函数返回一个包含People信息的数组。像这样:

$people= controllerGetAllPeople();

然后我使用这个数组和foreach来填充一些SELECTS:

<select name="owner">
      <?php
      foreach($people as $person) {
           ?>
           <option value="<?php echo $person["code"]; ?>"><?php echo $person["name"]." ".$person["lastname"]; ?></option>
           <?php
      }
       ?>
 </select>

我必须填充完全相同的盒子3倍,因为应用程序要求您选择所有者,中级,买家等等......并且必须出现相同的人员列表。但是,当我稍后使用上面相同的代码(我没有使用$ people = controllerGetAllPeople();再次)时,SELECTS没有被填充。

您认为原因是什么?我打算做点什么吗?

事先谢谢!

编辑:

如果我再次使用$ people = controllerGetAllPeople();它看起来像

$people= controllerGetAllPeople();

<select name="owner">
      <?php
      foreach($people as $person) {
           ?>
           <option value="<?php echo $person["code"]; ?>"><?php echo $person["name"]." ".$person["lastname"]; ?></option>
           <?php
      }
       ?>
 </select>

$people= controllerGetAllPeople();

<select name="intermediate">
      <?php
      foreach($people as $person) {
           ?>
           <option value="<?php echo $person["code"]; ?>"><?php echo $person["name"]." ".$person["lastname"]; ?></option>
           <?php
      }
       ?>
 </select>

$people= controllerGetAllPeople();

<select name="buyer">
      <?php
      foreach($people as $person) {
           ?>
           <option value="<?php echo $person["code"]; ?>"><?php echo $person["name"]." ".$person["lastname"]; ?></option>
           <?php
      }
       ?>
 </select>

这不是一种丑陋的方式吗?

1 个答案:

答案 0 :(得分:0)

更改

$people= controllerGetAllPeople();

<select name="intermediate">
      <?php
      foreach($people as $person) {

// $people= controllerGetAllPeople();
<select name="intermediate">
      <?php
      reset( $people );
      foreach($people as $person) {