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 に答える