-1

我有一个按以下方式定义的多选:

<select id="slctAdditional" name="slctAdditional[]" size="1"     class="drop_down" style="WIDTH: 300px; MARGIN: 5px 0 0 0; POSITION: relative;" VALUE="">
      <option value="50ffbee0768642.23917400_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917410_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917420_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917430_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917440_127.0.0.1">blah blah</option>

   </select>

我设法使用 PHP 将所选项目存储到 MySQL 数据库中。

50ffbee0768642.23917410_127.0.0.1
50ffbee0768642.23917420_127.0.0.1

现在,当我想将列表显示回来进行编辑时,我不知道如何重新选择这两项。你能帮我吗?

4

2 回答 2

1
  1. 以数组的形式获取存储在数据库中的所有项目。
  2. 在 HTML 中检查该数组中是否存在该值。

     <?php
         $selected_vals  = 1D array from DB
     ?>
    
    <select id="slctAdditional" name="slctAdditional[]" size="1"     class="drop_down" style="WIDTH: 300px; MARGIN: 5px 0 0 0; POSITION: relative;" VALUE="">
      <option <?php if(in_array('50ffbee0768642.23917400_127.0.0.1',$selected_vals)){?> selected="selected" <?php }?> value="50ffbee0768642.23917400_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917410_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917420_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917430_127.0.0.1">blah blah</option>
      <option value="50ffbee0768642.23917440_127.0.0.1">blah blah</option>
    

为所有选项添加这个<?php if(in_array('50ffbee0768642.23917400_127.0.0.1',$selected_vals)){?> selected="selected" <?php }?>

于 2013-03-22T13:12:37.720 回答
0

要将选择框中的选项设置为默认选择,请向其添加“selected”属性。

<option value="XXXX" selected>Something</option>

因此,当您创建选项列表时,请查看该值是否等于数据库中的值。

<option value="50ffbee0768642.23917410_127.0.0.1" <?=($DB_VALUE=='50ffbee0768642.23917410_127.0.0.1' ?'selected' : '')?>>blah blah</option>
<option value="50ffbee0768642.23917420_127.0.0.1" <?=($DB_VALUE=='50ffbee0768642.23917420_127.0.0.1' ?'selected' : '')?>>blah blah</option>
于 2013-03-22T13:12:42.720 回答