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

2023-12-29

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

数据库中的值设置为 $row['value'] 并等于 s。在 HTML 中,选项看起来像这样......

<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'] (Small) 选项...这可能吗?


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

<?php
$options=array('Extra, Extra small'=>'xxs','Extra small'=>'xs','Small'=>'s','Medium'=>'m','Large'=>'l','Extra Large'=>'xl','Extra, Extra Large'=>'xxl');

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

echo '<select>';
foreach($options as $view=>$value){

您可能已经注意到,该数组包含看起来像 'Large'=>'l' 的字段,并且 foreach 循环调用选项为 $view=>$value。 $view 代表名称字段,在本例中为“Large”,$value 代表值字段“l”。如果您希望用户在选择框中看到与设置的值不同的选项,这一点很重要。

接下来我们创建变量 $selected ,它将用于确定 $row['value'] 和 $value 之间是否匹配...

$selected=($row['value'] == $value)? "selected" : "";

这与使用 if 和 else 语句设置变量相同,但更短。变量后面的第一部分询问 $row['value'] 是否等于 $value,如果等于则 $selected="selected" else (:) $​​selected 设置为空白。

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

echo '<option '.$selected.' value="'.$value.'">'.$view.'</option>';

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

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

}
echo '</select>';

现在您已经有了一种将选择框选项设置为选定状态的自动方法。类似的模式可用于复选框、单选选择器、选项卡等。

完整代码...

<?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>';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • file_get_contents 大文件上传

    我正在尝试使用 fsockopen 上传 2GB 以上的大文件 但 file get content 出现以下错误 我无法在内存中存储大文件 我需要分块发送数据 但不知道如何执行此操作 请问有人可以指导我吗 致命错误 允许的内存大小 134
  • 解析错误:语法错误,意外的 T_RETURN [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 遇到这个问
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 删除二维数组C++[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 这两种释放二维数组的方法是否相似 int M new int 5 for int i 0 i lt 5 i M i new int 3 fo
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • 切换到 mysqli 是个好主意吗?

    我正在考虑为我的所有 php 项目切换到 mysqli 我的代码编写方式 我运行非常简单的网站并构建了自己的基本框架 我在所有网站上使用该框架 我在修改函数和类时不应该遇到太多问题 然而 我只听说过关于准备好的语句的积极的事情 除了一些关于
  • Redim Preserve 给出“下标超出范围”

    我想要Redim Preserve一个数组我不断收到错误 下标超出范围 我知道只有最后一个维度的大小可以更改 这正是我正在做的事情 这里出了什么问题 数组的类型是Variant BmMatrix Sheets BENCH Range a60
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • php date_parse("2010 年 2 月") 给出日期 == 1

    当没有日期时 我将其称为 date parse 中的错误 d date parse Feb 2010 会给 d day 1 请参阅对此的评论date parse 手册页 http php net manual en function dat
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 从迭代器外部将 StopIteration 发送到 for 循环

    有几种方法可以打破一些嵌套循环 他们是 1 使用中断 继续 for x in xrange 10 for y in xrange 10 print x y if x y gt 50 break else continue only exec
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia

随机推荐

  • enctype“application/json”形式可用吗?

    我正在读这个w3c 文档 https www w3 org TR html json forms 关于用 html 表单发布 JSON 数据 并尝试测试它 我的测试表格如下
  • gcc -O0 在 2 的幂矩阵大小(矩阵转置)上优于 -O3

    出于测试目的 我编写了一个简单的方法来计算 nxn 矩阵的转置 void transpose const size t n double A for uint i 0 i lt n i for uint j i 1 j lt n j dou
  • JPEG 伪影检测

    是否有已知的算法可以在不查看图像的情况下以编程方式检测图像退化 我考虑有损重新编码的明显 可见 图像伪影 例如颜色 失真 边缘噪声 块效应等 例如 从原始源编码且 JPEG 质量为 80 的图像就可以 我希望这是正确的提问地点 但如果版主认
  • Lua - 删除非空目录

    我正在尝试删除中的非空目录Lua但没有成功 我尝试了以下方法 os remove path to dir 并得到错误 Directory not empty 39当文件数为39时path to dir 还尝试过 require lfs lf
  • 如何为时间序列中缺失的数据创建“NA”

    我有几个数据文件 如下所示 X code year month day pp 1 4515 1953 6 1 0 2 4515 1953 6 2 0 3 4515 1953 6 3 0 4 4515 1953 6 4 0 5 4515 19
  • 行内元素内的绝对定位。这种行为正确吗?

    考虑以下简单的 HTML 和 CSS a rel position relative button position absolute top 0 left 0 Lorem ipsum dolor sit amet a class rel
  • 如何忽略 Git 上的 IDE 设置?

    我有以下 Git 信息 我想忽略 IDE Eclipse 的设置 modified myproject classpath modified myproject project modified myproject settings com
  • python中是否存在空类?

    python中是否存在特殊的类来创建空对象 我尝试了 object 但它不允许我添加字段 我想这样使用它 obj EmptyObject obj foo far obj bar boo 我应该每次 在几个独立的脚本中 定义这样的新类吗 cl
  • 比较 2 个 Excel 文件并仅输出差异(Powershell)

    我正在尝试比较 2 个 XLXS 并且只想输出差异 这可以用 Compare Object 来完成吗 我目前正在使用这个有效的脚本 但它没有捕获我真正需要的内容 IMPORT PS EXCEL MODULE import module ps
  • 矮人错误:找不到 DIE

    我在调试 XCode 4 中的 C 项目中的分段错误时遇到了很多麻烦 当我使用 LLVM 2 0 编译器选项构建并使用 O3 优化时 我只会出现段错误 据我了解 当使用优化时 调试选项是有限的 但这是我在打开 gdb 的 Xcode 中运行
  • 如何从 Applet 中模拟模式对话框?

    在 setVisible true 上 我调用以下代码来启动模式对话框 private synchronized void startModal try if SwingUtilities isEventDispatchThread Eve
  • 为什么在ConfigureAwait(false)之后保留区域性

    我有以下异步代码 Main system culture is English here Thread CurrentThread CurrentCulture CultureInfo GetCultureInfo es WriteLine
  • Visual Studio 2017 与 boost 1.64.0/1.63.0 的兼容性问题

    我有一个使用 boost 1 64 0 的项目 因为我需要 boost 过程 它的 CMakeList 已处理 代码使用 Qt Clion 进行编译 但是当我在 Visual Studio 2017 中使用相同的代码时 出现以下错误 下面是
  • 在 Mac 上哪里添加 Graphviz 的可执行文件

    我正在尝试使用Graphviz但收到错误消息 graphviz backend ExecutableNotFound failed to execute dot Tpdf O test output aoc gv pdf make sure
  • AWS Firehose 换行符

    我读过很多关于向 firehose 添加换行符的类似问题 但它们都是围绕将换行符添加到源中的 问题是我无权访问源 第三方正在将数据传输到我们的 Kinesis 实例 我无法添加 n到源头 我尝试使用以下代码进行 Firehose 数据转换
  • “if”语句的 test -s

    我有一个问题 如果有人知道的话我将不胜感激 好吧 说到重点了 在我的一个脚本中 我有以下表达式 我不清楚手册页应该产生什么效果 if s the file to check then echo file is zero sized and
  • 使用C#将HTML内容写入word文档

    我正在动态生成一个 Word 文档 需要使用使用 CKeditor 控件生成的 html 内容替换我的特殊标签 这里我使用的Word文档是一个模板 其中包含预先输入的文本 并且为了生成文档 我使用Microsoft Office Inter
  • 根据私有指数 (d)、公共指数 (e) 和模数 (n) 计算素数 p 和 q

    如何根据 e 公钥 d 私钥 和模数计算 p 和 q 参数 我手头有 BigInteger 键 我可以将其复制粘贴到代码中 一个公钥 一个私钥和一个模数 我需要由此计算 RSA 参数 p 和 q 但我怀疑有一个我无法通过谷歌找到的库 有任何
  • F# 更改为 OCaml [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 F 源自 OCaml 但是缺少或添加了哪些主要项目 具体来说 我很好奇可用于学习 OCaml 的资源对
  • 如何使用 PHP 将多个选项或具有不同值的数组中的选项设置为在选择框中选择的视图

    选项值从数据库中获取 并与其他选项一起包含在选择框中 如何将从数据库中获取的值设置为所选值 数据库中的值设置为 row value 并等于 s 在 HTML 中 选项看起来像这样