使用HTML和PHP在表单中动态标记为选定的选项

时间:2013-11-28 17:03:36

标签: php html sql forms select

我正在创建一个表单来更新sql表中的一些条目。

对于其中一个字段,我将在字段包含的值中选择一个“选择”。

理想情况下,我会有这样的事情:

<select id="source" name="source">
    <option <?=$manual?>>MANUAL</option>
    <option <?=$etsy?>>ETSY</option>
    <option <?=$online?>>ONLINE</option>
</select>

但我想让它变得动态,所以,如果我有100个选项,我就不必编写100个变量,而只需加载相应的变量名称,并加上“selected”一词。

实现这一目标的最佳途径是什么?

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

<select id="source" name="source">
  <?php 
         $Attrib = 'selected="';
        if ($order['source'] === 'value'){
          $Attrib.= 'selected"';
        }
        else{
         $Attrib .= 'false"';
        }
  ?>
  <option name="" <?=$Attrib;?>>NAMEHERE</option>

更不用说,您要将{$order['source'])分配给value,因此这将始终等于“值”

答案 1 :(得分:0)

可能是你想要做的事情

<option <?= ($order['source']==='optionname')?'selected':'' ?> > optionname </option>

将选项推送到某个阵列会更好。 哦,这就是你的意思。

我就是这样做的

<?php 
   $checkedoption = 'flytothemoon'; //the checked option
   $options = array('opt1', 'opt2', 'opt3', 'flytothemoon');
   foreach($options as $option):?>
     <option <?= ($order['source']===$checkedoption)?'selected':'' ?> > $option </option>
   <?php endforeach;?>