2014-06-27 87 views
0

在這裏,我列出所有汽車。客戶想要比較汽車,所以他們會從這個下拉列表中選擇。一個人可以選擇多輛汽車。在他第一次被選擇「奧迪」和薩博」我會,如果他來到我需要填充薩博和奧迪作爲選擇我怎麼可以這樣使用PHP我如何填充多選擇下拉菜單使用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> 

但它顯示錯誤

+0

你做錯了哥們,你不把邏輯放在視圖中。在模型/控制器中做到這一點。在你看來,只有循環會在那裏。 –

+0

在模型中,我從數據庫中獲取細節。我不這麼認爲它是需要的。 – Athi

+0

我的邏輯錯了。這裏只有foreach循環的錯誤只有問題 – Athi

回答

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

謝謝我忘記了in_array函數再次感謝你 – Athi