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

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

QA

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

답변 1

본문

안녕하세요.

제가 불초하게도 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컬럼에 하나씩 넣는것보다는 이런방식을 많이 이용합니다

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