2016-08-14 133 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>'; 
} 
相关问题