Php 使用codeigniter和DB中的数据选择选项

Php 使用codeigniter和DB中的数据选择选项,php,codeigniter,foreach,Php,Codeigniter,Foreach,我使用codeigniter与客户创建一个dropdownlist 如果我输入selected,则会自动选择下拉列表中的最后一个客户 是否可以在该foreach中选择客户 我的代码片段: <?php foreach ($customers as $c): ?> <option value="<?php echo $c->customer_id;?>"><?php echo $c->customer_name; ?></option

我使用codeigniter与客户创建一个dropdownlist
如果我输入selected,则会自动选择下拉列表中的最后一个客户

是否可以在该foreach中选择客户

我的代码片段:

<?php foreach ($customers as $c): ?>
<option value="<?php echo $c->customer_id;?>"><?php echo $c->customer_name; ?></option>
<?php endforeach; ?>


只需在循环内部的
中添加三元条件,
$selectedOption
是要选择的值

<?php $selectedOption = "yourvalue";
foreach ($customers as $c): ?>
    <option value="<?php echo $c->customer_id;?>" <?= ($c->customer_id == $selectedOption ? "selected" : "")><?php echo $c->customer_name; ?></option>
<?php endforeach; ?>


是的。但是,您必须知道此时选择了哪个客户,然后在循环内检查所选客户id是否与当前客户id相同:

<?php 
$chosenCustomer_id = 5; //of course don't hardcode it
foreach ($customers as $c): 
$selected = $c->customer_id == $chosenCustomer_id ? 'selected' : '';
?>
<option value="<?php echo $c->customer_id;?>" <?php echo $selected; ?>> <?php echo ><?php echo $c->customer_name; ?></option>
<?php endforeach; ?>

在选项标签中使用所选属性
所选内容需要根据条件进行设置

$selected=(condition): "selected",""; 
<option <?php echo $selected; ?>> Option Inner Html </option>
$selected=(条件):“selected”、“”;

将变量与选项标记中的属性进行比较

 <?php  $chosenCustomer_id = 5;?>   
 <select name="customer"  required>
   <?php foreach ($customers as $c){?>

    <option <?=($chosenCustomer_id==$c['customer_id']?'selected="selected"':'')?> value="<?=$c['customer_id']?>"><?=$c['customer_name']?></option>

     <?php } 
    ?>

    </select> 


CI中有一个表单帮助器将为您执行此操作。见: