PHP数组问题?

时间:2010-03-07 22:53:35

标签: php html

我是PHP的新手,我希望在php代码构建我的选项列表时禁用此代码<option value="" disabled="disabled">-------------</option>。如何修复我的PHP代码,以便始终将该特定选项设置为禁用?

这是php代码的一部分。

echo '<select name="country" id="country" size="20">' . "\n";
  foreach($countries as $option) {
    if ($option == $state) {
      echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n";
    } else {
      echo '<option value="'. $option . '">' . $option . '</option>'."\n";
    }
  }
echo '</select>';

以下是从PHP代码中输出的HTML代码的一部分。

    <option value="United States">United States</option>
    <option value="Australia">Australia</option>
    <option value="Canada">Canada</option>
    <option value="United Kingdom">United Kingdom</option>
    <option value="India">India</option>
    <option value="" disabled="disabled">-------------</option>
    <option value="Afghanistan">Afghanistan</option>
    <option value="Aland Islands">Aland Islands</option>

    <option value="Albania">Albania</option>
    <option value="Algeria">Algeria</option>
    <option value="American Samoa">American Samoa</option>
    <option value="Andorra">Andorra</option>

2 个答案:

答案 0 :(得分:0)

echo '<select name="country" id="country" size="20">' . "\n";
  foreach($countries as $option) {
    if ($option == $state) {
      echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n";
    } 
    else if($option == "-------------------"){
      echo '<option value="" disabled="disabled">----------------</option>';
    }
    else {
      echo '<option value="'. $option . '">' . $option . '</option>'."\n";
    }
  }
echo '</select>';

答案 1 :(得分:0)

通常,您所做的是在for的正常流程之外添加这些特殊情况,除非数据库确实表示null选项。例如,我可以这样做(使用短标签,可能不可用):

<select name="country" id="country" size="20">
    <option value="" disabled="disabled">----------------</option>
<?php 
foreach($countries as $option):
    if ($option == $state): ?>
        <option value="<?=$option ?>" selected="selected"><?=$option?></option>
    <? else: ?>
        <option value="<?=$option ?>"><?=$option ?></option>
    <? endif;
endforeach; ?>
</select>

我为任何语法错误道歉,我现在没有我的网络服务器。