2026, 새로운 도약을 시작합니다.

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

5년 전 조회 2,094

안녕하세요.

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

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

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

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

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

# 하고싶은 것 :

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

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

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

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

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

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

# 기타 참고 :

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

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

감사합니당~

Copy

답변 1개

채택된 답변
+20 포인트

자 잘따라오세요!

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니당~~~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고