2012-09-09 62 views
1

我試圖從由foreach循環填充的選擇列表中排除多個ID:排除的ID

$types = new Type(); 
$types->where('id !=', 13)->order_by('name')->get(); 
$data['types'] = $types; 

<select class="styled" name="form[type_id]"> 
<option value="0"> - select one - </option> 
<?php foreach ($types as $t): ?> 
<option value="<?=$t->id?>" <?=check_selected($t->id, $i->type_id)?>><?=$t->name?></option> 
<?php endforeach; ?> 
<option value="13" <?=check_selected(13, $i->type_id) ?>>Other</option> 
</select> 

因此,在目前它就會排除ID 13(並將其添加手動到底部),但是如何添加更多ID以排除?

在此先感謝。

回答

0

試試這個:

... 
$exclude = array(13,25);// add IDs to exlude 
.... 
<?php foreach ($types as $t): ?> 
    <?php if(!in_array($t->id, $exclude)){ ?>// if the ID is in the exlude array don't add it 
     <option value="<?=$t->id?>" <?=check_selected($t->id, $i->type_id)?>><?=$t->name?></option> 
    <?php } ?> 
<?php endforeach; ?> 
... 
+0

是的,已經非常完美,非常感謝! – user1604175