2013-01-24 3 views
0

쉼표로 구분 된 정수 문자열을 포함하는 'majors'라는 필드가 있습니다. 이 필드는 다음과 같은 변수를 사용하여 삽입 쿼리에 여러 선택 목록에서 채워집니다 여러 선택 목록 옵션을 쿼리에서 선택한 것으로 설정합니다.

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

지금 편집 페이지에, 나는 같은 목록에서 옵션을 설정하는 값을 갖고 싶어. 문제의 일부 목록을 사용하여 동적으로 생성되는 것입니다 :

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

하지만 난의 옵션을 설정으로 확실 해요 : 편집 페이지에서 초기 쿼리에

<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> 

, 내가 가진 array $ retrieve_majors에있는 값에 대한 다중 목록.

도움 주셔서 감사합니다.

+0

아마 나는 쉼표로 구분 된 문자열을 한 필드에 저장하지 않을 것입니다. 이것을 처리하는 가장 좋은 방법은 무엇입니까? – IlludiumPu36

답변

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> 
+0

은 포맷되지 않은 코드를 읽을 수 없습니다 – Barmar

+0

'$ retrieved_majors'가 루프 전에 설정되어 있습니까? – Barmar

+0

아직 루프가 없습니다 ... 어떻게 처리해야하는지 설명해 주시겠습니까? – IlludiumPu36

관련 문제