다중select의 for문 질문 드립니다.

다중select의 for문 질문 드립니다.

QA

다중select의 for문 질문 드립니다.

본문

안녕하세요.

제가 지금 다중 select로 입력된 값을 배열로 저장하여 사용중입니다.

근데 이게 수정할때 해당 option의 value가 저장된 데이터와 같을때

selected를 붙히는 처리를 해줘야 하는데요...

일단 제가 작업한 소스는 아래와 같습니다.

 


<?
    //var_dump($_GET);
    //echo "dfsadf=".$serial_num;
    $sql_sel = "select etc_11, etc_12, etc_13 from TCBOARD_BD2368879 where serial_num = ".$_GET['article_num'];
    $result_sel = mysql_fetch_array(mysql_query($sql_sel));
    
    $etc_11 = explode(',', $result_sel['etc_11']); 
    $etc_12 = explode(',', $result_sel['etc_12']); 
    $etc_13 = explode(',', $result_sel['etc_13']); 
    for($k=0; $k<sizeof($etc_11); $k++){
        //echo $etc_13[$k]; 
?>
<tr>
<td>
<select name="etc_11[]" onchange="setCategory2()" class="sel1">
    <option value="">=지역선택=</option>
    <option value="1" >수도권</option>
    <option value="3" >부산</option>
    <option value="4" >대전</option>
    <option value="2" >대구</option>
    <option value="5" >광주</option>
</select>
<select name="etc_12[]" class="sel2">
    <option>=호선선택=</option>
</select>
<select name="etc_13[]" class="sel3">
    <option>=역선택=</option>
</select>
</td>
</tr>
<? } ?>

 

위 처럼 하니까 배열의 갯수만큼 select의 갯수까지는 나오게 되었습니다만

각 option에 selected처리를 어떻게 하면 좋을지 막힙니다....

 

방법 좀 알려주세요....ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

대략 이런식으로 하면 되지 않을까 합니다.

 


<select name="etc_11[]" onchange="setCategory2()" class="sel1">
    <option value="">=지역선택=</option>
    <option value="1" <?php echo $etc_11[0] == '1' ? 'selected' : '' ?>>수도권</option>
    <option value="3" <?php echo $etc_11[0] == '3' ? 'selected' : '' ?>>부산</option>
    <option value="4" <?php echo $etc_11[0] == '4' ? 'selected' : '' ?>>대전</option>
    <option value="2" <?php echo $etc_11[0] == '2' ? 'selected' : '' ?>>대구</option>
    <option value="5" <?php echo $etc_11[0] == '5' ? 'selected' : '' ?>>광주</option>
</select>
<select name="etc_12[]" class="sel2">
    <option>=호선선택=</option>
    <?php if ($etc_12[0]) { ?>
            <option value="<?php echo $etc_12[0] ?>" selected><?php echo $etc_12[1] ?></option>
        <?php } ?>
</select>
<select name="etc_13[]" class="sel3">
    <option>=역선택=</option>
    <?php if ($etc_13[0]) { ?>
            <option value="<?php echo $etc_13[0] ?>" selected><?php echo $etc_13[1] ?></option>
        <?php } ?>
</select>

etc_11을 분할 구분 콤마로 하여 나눴으니

 

벨류값에 <?php if (etc_11 =="") { 입력된값 } else {  }"> 이런식으로 값이 정확하다면 해당벨류값을 출력으로 가야할듯합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 120
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT