【问题标题】:Update/Edit a form, so that it loads with selected option-values of SELECT from sql table更新/编辑表单,以便从 sql 表中加载 SELECT 的选定选项值
【发布时间】:2016-10-27 21:26:42
【问题描述】:

在这里,我已经在 sql 表中提交了我的表单值,其中包含多个选择,其中我序列化了 <options> 的选定值并插入到 SQL 列中:fldR。

现在,我正在尝试更新此表单信息,并尝试使用从 SQL 表中获取的值加载此 form.php。我想用 fetched - selected 选项值填充 MULTIPLE 选择。

PHP:

 $data = mysqli_fetch_object($result);
 $selected_values = unserialize($data->fldR);

现在该怎么办?

HTML / PHP:

<select name="rtype[]" id="rtype" class="myselect" multiple="multiple" style="height:6em">
      <option value="hr">H1</option>
      <option value="fr">F1</option>
      <option value="rnr">R1</option>
</select>

有什么创意可以做到这一点吗?

【问题讨论】:

    标签: javascript php mysql sql mysqli


    【解决方案1】:

    我们可以使用in_array()来检查该值是否在数组中,如果是则执行某些代码。

    in_array() 可以接受两个参数,第一个参数是您需要检查的值,第二个参数是要检查的数组。

    现在更新您的 PHP/HTML 代码如下,以默认从数据库中选择 SELECT 框中的值。

    像这样,

    <select name="rtype[]" id="rtype" class="myselect" multiple="multiple" style="height:6em">
          <option value="hr" <?php if(in_array('hr',$selected_values)) { ?> selected="selected" <?php } ?>>H1</option>
          <option value="fr" <?php if(in_array('fr',$selected_values)) { ?> selected="selected" <?php } ?>>F1</option>
          <option value="rnr" <?php if(in_array('rnr',$selected_values)) { ?> selected="selected" <?php } ?>>R1</option>
    </select>
    

    http://php.net/manual/en/function.in-array.php

    【讨论】:

    • 谢谢。像魅力一样工作:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 2016-02-18
    • 2021-09-13
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多