设置多个选择列表选项以从查询中选择

时间:2013-01-24 02:48:11

标签: php

我有一个名为' majors'其中包含一个由逗号分隔的整数字符串。使用以下变量从插入查询的多个选择列表填充此字段:

$majors_string = implode(",", $majors);

现在在编辑页面上,我想让这些值在同一列表中设置选项。部分问题是列表是使用以下方式动态生成的:

<select name="majors[]" size="9" multiple="multiple" id="majors">
          <?php 
$query = mysql_query("SELECT * from major ORDER BY title ASC");
for($i=0;$i<mysql_num_rows($query);$i++) {
$row=mysql_fetch_assoc($query);
?>
          <option value="<?php echo $row['major_pk']; ?>"><?php echo $row['title']; ?></option>
          <?php 
}
?>
        </select>

在编辑页面上的初始查询中,我有:

$query_topic = "SELECT * FROM topic WHERE topic_pk = '$topic_pk'";
$result_topic = mysql_query($query_topic, $connection) or die(mysql_error());
$row_topic = mysql_fetch_assoc($result_topic);

$retrieved_majors = explode(",", $row_topic['majors']);

但我不确定将多个列表中的选项设置为数组$ retrieve_majors中的值。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我想你问的是如何设置选择哪些选项的默认值,对吧?

<option value="<?php echo $row['major_pk']; ?>" <?php if(array_search($row['major_pk'], $retrieved_majors) !== false) {echo 'selected';} ?> ><?php echo $row['title']; ?></option>