2013-08-12 4 views
1

У меня возникли проблемы с чем-то, что я считаю странным. По крайней мере, я не знаю, почему это происходит.Заполните несколько SELECT одним массивом

У меня есть функция, которая возвращает массив с информацией людей. Что-то вроде этого:

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

И я должен заполнить точно такую ​​же коробку в 3 раза больше, потому что приложение просит вас выберите «Владелец», «Промежуточный», «Покупатель» и т. д. и т. д. ... и должен появиться тот же список людей. Но случается так, что когда я использую более поздний код выше (я не использую $ people = controllerGetAllPeople(), снова), SELECTS не заполняются.

Как вы думаете, в чем причина? Могу ли я что-то сделать?

Спасибо заранее!

EDIT:

, если я использую снова $ люди = 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> 

НЕ УПОТРЕБНЫЙ способ сделать это?

+0

Есть ли причина, почему вы не повторно используя $ = controllerGetAllPeople людей(); ? – jeff

+0

@jeff Хорошо, потому что почему я должен снова сказать контроллеру, чтобы создать точно такой же массив? Почему я не могу повторно использовать один и тот же массив? Я не понимаю. Я отредактировал этот вопрос, чтобы получить то, что я пытаюсь выяснить. – JuanBonnett

+0

Извините, я неправильно прочитал ваше заявление. Хотя в руководстве указано, что вам не нужно это делать, но вы можете добавить сброс ($ people); перед повторным использованием массива. Если это не работает, возможно, что-то происходит. – jeff

ответ

0

Изменить

$people= controllerGetAllPeople(); 

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

К

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

Это то, что я делаю. Я не могу поверить, что это не работает: / – JuanBonnett

Смежные вопросы