我有一个名为'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']);
但我不确定是否将多个列表中的选项设置为数组 $retrieved_majors 中的值。
感谢您的任何帮助!
我想你在问如何设置选择哪些选项的默认值,对吧?
<option value="<?php echo $row['major_pk']; ?>" <?php if(array_search($row['major_pk'], $retrieved_majors) !== false) {echo 'selected';} ?> ><?php echo $row['title']; ?></option>