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

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

QA

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

답변 3

본문

안녕하세요.

제가 지금 다중 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 {  }"> 이런식으로 값이 정확하다면 해당벨류값을 출력으로 가야할듯합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 150
© SIRSOFT
현재 페이지 제일 처음으로