2016-08-14 139 views
0

我正在從數據庫獲取數據,並且必須將其傳遞到視圖中的下拉列表中。這是我在控制器Codeigniter:從控制器傳遞數組以查看下拉列表

public function register(){ 
     foreach ($this->user_model->getallcountries() as $key => $value) { 
      $countries[] = array('id' => $value['id'] ,'name' => $value['name']); 
     } 

$array= array( 
       array(
        'type'   =>  'countryname', 
        'name'   =>  'Country', 
        'options'  =>  $countries 
       ), 

     ); 

    $this->load->view('authentication',$output); 

我已經可以解析數組和它的工作原理是這樣

<?php 
    foreach ($data as $key => $value) { 
     if($value['type']=='countryname'){ 
      foreach ($value['options'] as $subvalue){ 
       echo $subvalue['id'].' = '.$subvalue['name'].'<br/>'; 

      } 
     } 
    } 
?> 

,這就是我得到

1 = United Arab Emirates 
2 = Saudi Arabia 
3 = Oman 
4 = Qatar 
5 = Bahrain 
6 = Kuwait 

這正是我需要的傳遞到form_dropdown,我不知道我可以做到這一點

我試過這樣的事情

<?php 
     if($value['type']=='countryname'){ 
     echo '<div class="form-group">'; 
     echo form_dropdown('countryname', $value['options'],'','class="form-control"'); 
     echo '</div>'; 

    }?> 

,但不知道如何在form_dropdown

this is what i have

+0

你的數組在控制器中傳遞的是錯誤的。 –

+0

你的意思是我通過dropdown傳遞的一個?我不知道如何解析它 – Sikander

回答

1

處理內部陣列控制器中

$array = array(  
    'type'   =>  'countryname', 
    'name'   =>  'Country', 
    'options'  =>  $countries 
); 

$data['options'] = $array; 

在查看

if($options['type']=='countryname'){ 
    echo '<div class="form-group">'; 
    echo form_dropdown('countryname', $options['options'],'','class="form-control"'); 
    echo '</div>'; 
} 
相關問題