【问题标题】:How do I Populate Multi Select drop dwon using php如何使用 php 填充 Multi Select drop dwon
【发布时间】:2014-06-27 06:07:35
【问题描述】:

在这里我列出了所有汽车。客户想要比较汽车,因此他们将从该下拉列表中进行选择。一个人可以选择多辆汽车。第一次他选择'Audi'和Saab'如果他来了我将把它存储到数据库中我需要填充Saab和audi作为选择我如何使用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>

以下代码我试过 $resources 包含选择汽车

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

但显示错误

【问题讨论】:

  • 你做错了伙计,你没有把逻辑放在视图中。在模型/控制器中执行此操作。只有循环才会出现在您的视图中。
  • 在模型中,我从数据库中获取详细信息。我认为不需要。
  • 我的逻辑是错误的。这里只有foreach循环的错误才有问题

标签: php codeigniter


【解决方案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>

【讨论】:

  • 谢谢我忘记了in_array函数再次谢谢你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 2017-06-09
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 2012-10-10
相关资源
最近更新 更多