如何使用php填充Multi Select下拉列表

时间:2014-06-27 06:07:36

标签: php codeigniter

这里我列出了所有汽车。客户想要比较汽车,所以他们会从这个下拉菜单中选择。一个人可以选择多辆车。他第一次选择'奥迪'和萨博'如果他来的话,我会将它存储到数据库中我需要填写萨博和奥迪,我可以选择如何使用php进行此操作

<select name="cars" multiple>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="opel">Opel</option>
    <option value="audi">Audi</option>
 </select>

这是我的代码

<select  id="cars" class="multiselect" multiple="multiple" name="cars[]">
    <?PHP 

        if($carslist->num_rows() >0)
        {
             foreach($carslist->result_array() as $entry):  

              ?> <option value="<?php echo($entry['ID']); ?>" ><?php echo($entry['car_name']); ?></option> 
              <?php 

              endforeach;
        }
          ?>    
</select>

以下代码我尝试了$资源包含精选汽车

<select  id="cars" class="multiselect" multiple="multiple" name="cars[]">
    <?PHP 

        if($carslist->num_rows() >0)
        {
             foreach($carslist->result_array() as $entry):  
                 if($resources->num_rows() >0)
                 { 

                     foreach($resources->result_array() as $car): 

                       if($entry['ID'] == $employee['car_id'])
                        {
                           $select = 'selected="selected"';                    

                        }
                       else
                        {
                           $select = '';                       

                        }   

                 endforeach;    
                 }                        
              ?> <option value="<?php echo($entry['ID']); ?>" <?php echo $select;?>  ><?php echo($entry['car_name']); ?></option> 
              <?php 

              endforeach;
        }
?>  
    </select>

但显示错误

1 个答案:

答案 0 :(得分:1)

在这里,尝试这样的事情,看看它是否有效:

这是控制器

<?php
    function something(){
        $data               = array();
        $data['cars']       = $this->some_model->some_function_to_return_cars_array();
        $data['selected']   = $some_array_of_selected_cars();
        $this->load->view('some_view', $data);
    }
?>

这是视图

<select  id="cars" class="multiselect" multiple="multiple" name="cars[]">
    <option value="">Select:</option>
    <?php
        foreach( $cars as $key => $val ){
    ?>
        <option value="<?php echo $val['some_id'] ?>" 
        <?php
            if( in_array( $val['some_id'], $selected ) ) echo ' selected';
        ?>

        ><?php echo $val['some_name'] ?></option>
    <?php
        }
    ?>
</select>