안녕하세요.
제가 지금 다중 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 { }"> 이런식으로 값이 정확하다면 해당벨류값을 출력으로 가야할듯합니다.
etc_11, etc_12, etc_13 에는 데이터가 어떻게 들어있는지 알아야 할것 같네요
답변을 작성하려면 로그인이 필요합니다.