라디오와 텍스트 항목에 여분필드 쪼개서 쓰려고 합니다..

라디오와 텍스트 항목에 여분필드 쪼개서 쓰려고 합니다..

QA

라디오와 텍스트 항목에 여분필드 쪼개서 쓰려고 합니다..

본문

안녕하세요.

제가 불초하게도 php에 거의 문외한이라 이틀 반동안 검색과 구글링으로 헤메다가

이제 정신건강상 다소 무리가 오는 상태에 이르러

부득이 QA게시판 문을 두드리오니

여러 고수님들께서는 아래의 제 고민을 함 훑어봐 주시고

천금 같은 조언 해주시면 감사드리겠습니다.

 

# 하고싶은 것 :

 - 아래 예시 코드를 보시면 하나의 선택범주에 여분필드 wr_37에서 wr_40까지 4개를 쓰고 있습니다.

 - 이렇게 4개나 소모하지 않고 여분필드 하나(wr_37)를 쪼개 나눠서 쓰고 싶습니다.

 - 여분필드를 75개나 만들어 놨지만 아래 코드처럼 하다가는 여분필드가 마이 모자라더군요..

 

# 지금껏 해결하지 못한 사유 : 

 - 라디오 형식 또는 체크박스 형식과 텍스트 형식이 섞여 있는 선택범주다 보니

 - 각 형식별로 쪼개진 여분필드를 어떻게 넣어야 할지지 모르겠더군요..

 

# 기타 참고 :

  - 아래의 코드처럼 라디오 + 라디오 + 텍스트 와 같은 조합이 있고

  - 체크박스 + 텍스트 조합이 있으며 각 항목의 개수는 유동적입니다.

 

감사합니당~

 


<!-- item 단위 시작 -->
<div class="itembox">
<section class="item item-left">
  <img src="<?php echo G5_URL ?>/theme/basic/img/icons/sample.gif"" height="130" align="right" border="0">
</section>
<section class="item item-right">
  <div class="icheck-material-red">
      <input type="radio" id="wr_37id1"  name="wr_37" value="옵션1"<?php echo ($write['wr_37'] == "옵션1") ? " checked" : "";?> />
      <label for="wr_37id1">옵션1</label>
  </div>
  <div class="icheck-material-orange">
      <input type="radio" id="wr_37id2" name="wr_37" value="옵션2"<?php echo ($write['wr_37'] == "옵션2") ? " checked" : "";?> />
      <label for="wr_37id2">옵션2</label>
  </div>
  <div class="icheck-material-indigo">
      <input type="radio" id="wr_37id3" name="wr_37" value="옵션3"<?php echo ($write['wr_37'] == "옵션3") ? " checked" : "";?> />
      <label for="wr_37id3">옵션3</label>
  </div> 
  <div class="icheck-material-purple">
      <input type="radio" id="wr_37id4" name="wr_37" value="옵션4"<?php echo ($write['wr_37'] == "옵션4") ? " checked" : "";?> />
      <label for="wr_37id4">옵션4</label>
  </div>
  <div class="icheck-material-grey">
    <input type="radio" id="wr_37id5" name="wr_37" value="옵션5"<?php echo ($write['wr_37'] == "옵션5") ? " checked" : "";?> />
      <label for="wr_37id5">옵션5</label>
  </div>
</section>
<div style="clear:both;font-size:0px;border-bottom:1px dashed #d0d4df;"></div> <!-- 점선 라인 --><br>
<section class="item-footer">
     <font color="#001">▶ 프레임 선택옵션</font><br>
    <div class="icheck-material-purple icheck-inline">
       <input type="radio" id="wr_38id1"  name="wr_38" value="프레임1"<?php echo ($write['wr_38'] == "프레임1") ? " checked" : "";?> />
      <label for="wr_38id1">프레임1</label>
    </div>
     <div class="icheck-material-purple icheck-inline">
       <input type="radio" id="wr_38id2" name="wr_38" value="프레임2"<?php echo ($write['wr_38'] == "프레임2") ? " checked" : "";?> />
       <label for="wr_38id2">프레임2</label>
     </div>
    <div class="icheck-material-purple icheck-inline">
      <input type="radio" id="wr_38id3" name="wr_38" value="프레임3"<?php echo ($write['wr_38'] == "프레임3") ? " checked" : "";?> />
       <label for="wr_38id3">프레임3</label>
     </div>
    <br><br>
<div style="clear:both;font-size:0px;border-bottom:1px dashed #d0d4df;"></div> <!-- 점선 라인 --><br>
    <font color="#001">▶ 유형 선택옵션</font><br>
    <div class="icheck-material-indigo icheck-inline">
      <input type="radio" id="wr_39id1" name="wr_39" value="유형1"<?php echo ($write['wr_39'] == "유형1") ? " checked" : "";?> />
       <label for="wr_39id1">유형1</label>
     </div>     
     <div class="icheck-material-indigo icheck-inline">
     <input type="radio" id="wr_39id2"  name="wr_39" value="유형2"<?php echo ($write['wr_39'] == "유형2") ? " checked" : "";?> />
      <label for="wr_39id2">유형2</label>
    </div>
     <div class="icheck-material-indigo icheck-inline">
       <input type="radio" id="wr_39id3" name="wr_39" value="유형3"<?php echo ($write['wr_39'] == "유형3") ? " checked" : "";?> />
       <label for="wr_39id3">유형3</label>
     </div>
     <div class="icheck-material-indigo icheck-inline">
       <input type="radio" id="wr_39id4" name="wr_39" value="유형4"<?php echo ($write['wr_39'] == "유형4") ? " checked" : "";?> />
       <label for="wr_39id4">유형4</label>
     </div>
    
    </section><br>
<!-- 추가메모 텍스트 박스 시작 -->
<section class="item-footer"> 
  <label for="wr_40id" class="sound_only">추가메모</label>
            <input type="text" name="wr_40" value="<?php echo $wr_40 ?>" id="wr_40id" class="frm_input full_input" size="100" placeholder="보충설명">
  </section>
 <!-- 추가메모 텍스트 박스 종료 -->
</div> 
<br>
<!-- item 단위 종료 -->

 

이 질문에 댓글 쓰기 :

답변 1

자 잘따라오세요!

name = wr_37, wr_38, wr_39, wr_40이라 정의되어있는 input을 다른이름으로 바꿔주세요

option1 option2 option3 option4 이런식으로요

그런다음 write_update.php에 여분필드 추가한것들이있겠죠? 그중에서

wr_37 = $option1."|".$option2."|".$option3."|".$option4;

이렇게 wr_37필드에 대한 저장값을 바꿔줍니다

저장이 되는걸 확인하시면

이제 다시 글쓰기폼으로 돌아와서 수정이나 출력시에 어떻게 표기할수있냐면

echo $wr_37; 하면 "옵션1|옵션2|옵션3|옵션4"가 출력될수있는걸 볼수있습니다

이걸이제 배열로 빼줄꺼에요

$wr37 = explode('|', $wr_37); 이렇게 explode 함수를 통해서 배열로 빼줍니다

 

그럼 echo $wr37[0]; 이면? "옵션1"이 출력됩니다

이걸 기존에 wr_37이라 정의했는곳에 $wr37[0]을

기존에 wr_38이라 정의했는곳에 $wr38[1]을

 

이런식으로 문자열로 저장뒤 explode로 문자열을 특정한 조건으로 배열로 만든뒤 값을 가져오는 방식을 많이 쓰고있습니다

 

작성자분이 말씀하신것처럼 여분값이 많다면 굳이 한 DB컬럼에 하나씩 넣는것보다는 이런방식을 많이 이용합니다

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

회원로그인

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