首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用PHP将多个选项或具有不同值的数组中的选项设置为在选择框中选定的视图

如何使用PHP将多个选项或具有不同值的数组中的选项设置为在选择框中选定的视图
EN

Stack Overflow用户
提问于 2016-08-22 09:42:19
回答 1查看 1.7K关注 0票数 1

从数据库中获取选项值,并将其与其他选项一起包含在选择框中。如何将从数据库中获取的值设置为选中?

数据库中的值被设置为$row' value‘并等于s。在HTML中,选项如下所示……

代码语言:javascript
复制
<select name="select">
<option value='xxs'>Extra, Extra small</option>
<option value='xs'>Extra small</option>
<option value='s'>Small</option>
<option value='m'>Medium</option>
<option value='l'>Large</option>
<option value='xl'>Extra Large</option>
<option value='xxl'>Extra, Extra small</option>
</select>

我想要的是在页面加载时显示$row'value'选项...这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 09:42:19

好消息是,这是可能的,并且在PHP中非常简单。首先,我们将所有选项及其各自的值放入一个数组中,如下所示:

代码语言:javascript
复制
<?php
$options=array('Extra, Extra small'=>'xxs','Extra small'=>'xs','Small'=>'s','Medium'=>'m','Large'=>'l','Extra Large'=>'xl','Extra, Extra Large'=>'xxl');

接下来,打开选择框并调用foreach循环中的选项数组...

代码语言:javascript
复制
echo '<select>';
foreach($options as $view=>$value){

正如您可能已经注意到的,该数组包含类似于'Large'=>'l‘的字段,并且for each循环调用的选项为$view=>$value。$view表示name字段,在本例中为'Large‘,$value表示value字段'l’。如果您希望用户在选择框中看到与设置值不同的选项,这一点很重要。

接下来,我们创建变量$selected,该变量将用于确定$row‘$value’和$value之间是否匹配...

代码语言:javascript
复制
$selected=($row['value'] == $value)? "selected" : "";

这与使用if和else语句设置变量相同,但更短。变量之后的第一部分是询问$row‘$value’是否等于$value,如果等于,则将$selected=“$selected”else (:)设置为空。

接下来,我们将包括这些选项。因为它在foreach循环中,所以我们只需要一行来插入所有选项...

代码语言:javascript
复制
echo '<option '.$selected.' value="'.$value.'">'.$view.'</option>';

还记得上一步中的$selected变量吗?每当foreach循环遍历在开头设置的选项数组的一部分时,它都会检查$row‘$value’是否等于$value。如果是这样,那么$selected将被设置为选中,并且该特定选项将显示在页面加载上。它继续遍历数组的其余部分,直到扫描完所有视图和值,并返回其各自的选项。

最后,我们关闭foreach循环和选择框...

代码语言:javascript
复制
}
echo '</select>';

现在你就有了它,一种自动将选择框选项设置为选中的方法。类似的模式可用于复选框、单选选择器、选项卡等。

完整的代码。

代码语言:javascript
复制
<?php
$options=array('Extra, Extra small'=>'xxs','Extra small'=>'xs','Small'=>'s','Medium'=>'m','Large'=>'l','Extra Large'=>'xl','Extra, Extra Large'=>'xxl');

echo '<select>';

foreach($options as $view=>$value){
    $selected=($row['value'] == $value)? "selected" : "";
echo '<option '.$selected.' value="'.$value.'">'.$view.'</option>';
}

echo '</select>';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39070359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档