PHP数组和HTML表单下拉列表

我有一个名为$categories的简单PHP数组,如下所示:

Array
(
[Closed] => P1000
[Open] => P1001
[Pending] => P1002
[In Progress] => P1003
[Requires Approval] => P1004
)

我有一个简单的HTML表单,其中包含一个字段的下拉列表,我希望将该数组用于选项,但是我只希望它显示文本(例如,已关闭,打开,待处理,正在进行和需要Approval)作为下拉列表中的选项,但存储该选项的关联键(例如P1000,P1001等),然后在提交表单时将其作为POST值发送.

到目前为止,表单字段的HTML是:

<select name="category_id">
<option value=""></option>
<?PHP foreach($categories as $category) {$category = htmlspecialchars($category);?>
<option value="<?PHP echo $category; ?>"><?PHP echo $category; ?></option>
<?PHP
}
?>
</select>

我可以让它显示文本或ID,但不显示文本并存储ID.希望这很简单,有人可以指出我正确的方向.

非常感谢,
史蒂夫

解决方法:

你已经忘记了$value标签.您将类别名称粘贴两次,而不是值.你应该这样做:

<select name="category_id">
<option value=""></option>
<?PHP 
    #                             !vCHANGEv!
    foreach($categories as $category => $value) 
    {
       $category = htmlspecialchars($category); 
       echo '<option value="'. $value .'">'. $category .'</option>';
    }
?>
</select>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...