0

我有一个名为“专业”的字段,其中包含一串用逗号分隔的整数。该字段是使用以下变量从插入查询的多选列表中填充的:

$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']);

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

谢谢你的帮助!

4

1 回答 1

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>
于 2013-01-24T02:59:25.120 回答