我有一个名为' 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中的值。
感谢您的帮助!
答案 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>