Codeigniter:从控制器传递数组到视图下拉列表

时间:2016-08-14 14:41:28

标签: php arrays 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

1 个答案:

答案 0 :(得分: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>'; 
}