셀렉트에서 옵션에 여러값을 나눠 입력시...

셀렉트에서 옵션에 여러값을 나눠 입력시...

QA

셀렉트에서 옵션에 여러값을 나눠 입력시...

본문

안녕하세요. 

한 필드에 여러 값을 입력하고 있는데요. 

셀렉트에서 옵션에는 어떤식으로 넣어야 하는지요?

wr_19[<?=$i?>] 이것을

$write['wr_19<?=$i?>'] == '미납' 혹은

$write['wr_19[<?=$i?>]'] == '미납' 혹은

$write['wr_19'] & <?=$i?> == '미납'

ㅎㅎㅎ 너무 초보라.... 어떤식으로 하는지 알려주시면 감사하겠습니다. 


<td>
   <select id="wr_19[<?=$i?>]" name="wr_19[<?=$i?>]" required>
    <option value="">---결제상태---</option>
    <option value="미납" <?php echo ($write['wr_19'] == '미납') ? " selected" : "";?>>미납</option>
    <option value="분납" <?php echo ($write['wr_19'] == '분납') ? " selected" : "";?>>분납</option>
    <option value="완납" <?php echo ($write['wr_19'] == '완납') ? " selected" : "";?>>완납</option>
    <option value="환불" <?php echo ($write['wr_19'] == '환불') ? " selected" : "";?>>환불</option>
    <option value="취소" <?php echo ($write['wr_19'] == '취소') ? " selected" : "";?>>취소</option>
    </select>
</td>

이 질문에 댓글 쓰기 :

답변 4

다음과 같은 방법도 있으니 참고 해보세요

 


<?php
if (!defined('_GNUBOARD_')) exit; 
// 필드명과 기본값 설정
$payment_statuses = array("미납", "분납", "완납", "환불", "취소");
$wr_19_values = explode(',', $write['wr_19']); // 현재 선택된 값들을 배열로 분할
?>
<!-- 필드 표시 시작 -->
<tr>
    <th scope="row"><label for="wr_19">결제상태</label></th>
    <td>
        <select id="wr_19" name="wr_19[]" required multiple>
            <option value="">---결제상태---</option>
            <?php foreach ($payment_statuses as $status) { ?>
                <option value="<?php echo $status; ?>" <?php echo (in_array($status, $wr_19_values)) ? "selected" : ""; ?>><?php echo $status; ?></option>
            <?php } ?>
        </select>
    </td>
</tr>
<!-- 필드 표시 끝 -->
name 에 [<?=$i?>] 을 뻬야됩니다.




<td>
   <select id="wr_19[<?=$i?>]" name="wr_19" required>
    <option value="">---결제상태---</option>
    <option value="미납" <?php echo ($write['wr_19'] == '미납') ? " selected" : "";?>>미납</option>
    <option value="분납" <?php echo ($write['wr_19'] == '분납') ? " selected" : "";?>>분납</option>
    <option value="완납" <?php echo ($write['wr_19'] == '완납') ? " selected" : "";?>>완납</option>
    <option value="환불" <?php echo ($write['wr_19'] == '환불') ? " selected" : "";?>>환불</option>
    <option value="취소" <?php echo ($write['wr_19'] == '취소') ? " selected" : "";?>>취소</option>
    </select>
</td>

wr_19[<?=$i?>] 은 wr_19가 여러개 라고 하시는거잖아요?

<td>
   <select id="wr_19[<?=$i?>]" name="wr_19[<?=$i?>]" required>
    <option value="">---결제상태---</option>
    <option value="미납" <?php if (strpos($write['wr_19'], '미납') !== false ) echo " seleted";?>>미납</option>
    <option value="분납" <?php if (strpos($write['wr_19'], '분납') !== false ) echo " seleted";?>>분납</option>
    <option value="완납" <?php if (strpos($write['wr_19'], '완납') !== false ) echo " seleted";?>>완납</option>
    <option value="환불" <?php if (strpos($write['wr_19'], '환불') !== false ) echo " seleted";?>>환불</option>
    <option value="취소" <?php if (strpos($write['wr_19'], '취소') !== false ) echo " seleted";?>>취소</option>
    </select>
</td>

으로 바꾸시면 될듯 합니다.

생각보다 간단하게 처리하실수 있습니다.

입력받은 값이 결론적으로   wr_19[<?=$i?>] 즉 조금 출력쪽으로 풀이하자면,.$i값이 1인경우.

wr_191 <-- 요렇게 되는 것이겠네요?

그럼 value값을 불러올때도..  $write['wr_191']  <-- 요렇게 불러와야 맞게 되겠죠?

그래서 뒤에다가 .$i만 추가적으로 넣어주시면 될 꺼 같습니다. 아래 소스를 참고 해주시면될꺼 같습니다

 



<td>
   <select id="wr_19[<?=$i?>]" name="wr_19[<?=$i?>]" required>
    <option value="">---결제상태---</option>
    <option value="미납" <?php echo ($write['wr_19'.$] == '미납') ? " selected" : "";?>>미납</option>
    <option value="분납" <?php echo ($write['wr_19'.$] == '분납') ? " selected" : "";?>>분납</option>
    <option value="완납" <?php echo ($write['wr_19'.$] == '완납') ? " selected" : "";?>>완납</option>
    <option value="환불" <?php echo ($write['wr_19'.$] == '환불') ? " selected" : "";?>>환불</option>
    <option value="취소" <?php echo ($write['wr_19'.$] == '취소') ? " selected" : "";?>>취소</option>
    </select>
</td>

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

회원로그인

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