정말 죄송합니다. 라디오 버튼에 대해 다시 질문 드립니다.

정말 죄송합니다. 라디오 버튼에 대해 다시 질문 드립니다.

QA

정말 죄송합니다. 라디오 버튼에 대해 다시 질문 드립니다.

본문

혹시 아래 코드들 처럼 하는게 맞는지 우선 궁금 합니다.

여러 고수님들이 알려 주신대로 다 해 보았으나 적용이 안됩니다.

뷰페이지에서 선택한 학목이 선택이 되어 있어야 하는데 선택이 안됩니다.

그리고 게시판을 새로 생성해서도 해보고 다 해보았는데 안됩니다. 얼른 완성하고 싶은데 벽이 너무 높네요

부득이하게 제가 작업한 것을 다 올려 놓습니다. 전문가분들의 조언부탁 드립니다.

주소도 같이 올려 드립니다.

후원 종류 입니다.

write_update.skin.php 파일에


// 후원품목
$wr_16 = "$wr_16_1|$wr_16_2|$wr_16_3|$wr_16_4";
sql_query(" update $write_table set wr_16 = '$wr_16' where wr_id = '$wr_id' ");
?>

작성 하고

write.skin.php 파일에


// 후원목록  //상단에 추가
$wr16 = explode('|',$write['wr_16']);
$wr_16_1  = $wr16[0];
$wr_16_2  = $wr16[1];
$wr_16_3  = $wr16[2];
$wr_16_4  = $wr16[3];
<input type="radio" name="wr_16" id="wr_16_1" value="1" <?php echo ($write['wr_16_1'] == "1") ? " checked" : "";?>  required /><label for="wr_16_1">일반후원</label>    
                        <input type="radio" name="wr_16" id="wr_16_2" value="2" <?php echo ($write['wr_16_2'] == "2") ? " checked" : "";?> required /><label for="wr_16_2">결연후원</label>    
                        <input type="radio" name="wr_16" id="wr_16_3" value="3" <?php echo ($write['wr_16_3'] == "3") ? " checked" : "";?> required /><label for="wr_16_3">물품후원</label>    
                        <input type="radio" name="wr_16" id="wr_16_4" value="4" <?php echo ($write['wr_16_4'] == "4") ? " checked" : "";?> required /><label for="wr_16_4">기타</label>

view.skin.php 파일에


// 후원종류 //상단에 추가
$wr16 = explode('|',$view['wr_16']);
$wr_16_1  = '('.$wr16[0].')';
$wr_16_2  = $wr16[1];
$wr_16_3 = $wr16[2];
$wr_16_4 = $wr16[3];
<input type="radio" disabled name="wr_16" id="wr_16_1" value="1" <?php echo ($view['wr_16_1'] == "1") ? " checked" : "";?> required /><label for="wr_16_1">일반후원</label>    
                    <input type="radio" disabled name="wr_16" id="wr_16_2" value="2" <?php echo ($view['wr_16_2'] == "2") ? " checked" : "";?> required /><label for="wr_16_2">결연후원</label>    
                    <input type="radio" disabled name="wr_16" id="wr_16_3" value="3" <?php echo ($view['wr_16_3'] == "3") ? " checked" : "";?> required /><label for="wr_16_3">물품후원</label>    
                    <input type="radio" disabled name="wr_16" id="wr_16_4" value="4" <?php echo ($view['wr_16_4'] == "4") ? " checked" : "";?> required /><label for="wr_16_4">기타</label>

이 질문에 댓글 쓰기 :

답변 1

라디오 버튼인데 왜 저렇게 하신 건가요? 저렇게 쪼개는 건 보통 다중 체크박스일 때나 하는데요.
다른 이유가 있으신가요?

한번 읽어보시고 https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=10

 

일단 올려주신 걸 기준으로 살펴보면 write.skin.php 파일에서는 이런식으로 되어야 합니다.

빨간색으로 표시한 부분 유심히 살펴보세요. name 값이 달라서 required도 다 제거하셔야 할 겁니다. 

 

<input type="radio" name="wr_16_1" id="wr_16_1" value="1" <?php echo ($wr_16_1 == "1") ? " checked" : "";?> /><label for="wr_16_1">일반후원</label>    
<input type="radio" name="wr_16_2" id="wr_16_2" value="2" <?php echo ($wr_16_2 == "2") ? " checked" : "";?> /><label for="wr_16_2">결연후원</label>

<input type="radio" name="wr_16_3" id="wr_16_3" value="3" <?php echo ($wr_16_3 == "3") ? " checked" : "";?> /><label for="wr_16_3">물품후원</label>    
<input type="radio" name="wr_16_4" id="wr_16_4" value="4" <?php echo ($wr_16_4 == "4") ? " checked" : "";?> /><label for="wr_16_4">기타</label>

 

참고해서 view.skin.php 파일도 마찬가지 방법으로 변경해야 하고요.

근데 제가 봤을 땐 쪼갤 필요가 전혀 없어 보입니다. 그냥 필드 하나로 쓰시면 될 것 같은데요.

여러개를 선택해야 한다면 체크박스로 변경하셔야 하고요. 체크박스 방식과 착각하신 건 아닌지..

아이고 제가 실력이 없어서요
사실 주소를 하고 나니 되길래 했던 것인데 영 안되네요
그럼 기존 쪼개기 위해서 했던 것들은 다 주석처리 해야 하나요
write_update.skin.php

$wr16 = explode('|',$write['wr_16']);
$wr_16_1  = $wr16[0];
$wr_16_2  = $wr16[1];
$wr_16_3  = $wr16[2];
$wr_16_4  = $wr16[3];

위 있는 것을 다 지우고
그리고 님께서 올리신 자료 중에
<input type="radio" name="wr_4" value="봄"<?php echo ($write['wr_4'] == "봄") ? " checked" : "";?> required> 봄
<input type="radio" name="wr_4" value="여름"<?php echo ($write['wr_4'] == "여름") ? " checked" : "";?> required> 여름
<input type="radio" name="wr_4" value="가을"<?php echo ($write['wr_4'] == "가을") ? " checked" : "";?> required> 가을
<input type="radio" name="wr_4" value="겨울"<?php echo ($write['wr_4'] == "겨울") ? " checked" : "";?> required> 겨울
이런식으로 하면 되는 건가요

write_update.skin.php

위 파일도 필요 없으며 아래 코드도 필요 없습니다.

$wr16 = explode('|',$write['wr_16']);
$wr_16_1  = $wr16[0];
$wr_16_2  = $wr16[1];
$wr_16_3  = $wr16[2];
$wr_16_4  = $wr16[3];

링크에 있는 예제대로만 넣으면 됩니다. 필드명은 원하는 필드명으로 바꾸시고요.

필드를 하나로 쓰라고 해서 이게 맞는지는 모르겠습니다.
봐주시면 감사 하겠습니다.
이렇게 하게 되면 첫번째 것만 선택이 되고 나머지는 그냥 선택이 안되네요 사실 이 4개 중에 하나를 선택을 해야 하는 것이거든요
<input type="radio" name="wr_16" id="wr_16" value="1" <?php echo ($wr_16 == "1") ? " checked" : "";?> /><label for="wr_16">일반후원</label>   
                        <input type="radio" name="wr_16" id="wr_16" value="2" <?php echo ($wr_16 == "2") ? " checked" : "";?> /><label for="wr_16">결연후원</label>
                        <input type="radio" name="wr_16" id="wr_16" value="3" <?php echo ($wr_16 == "3") ? " checked" : "";?> /><label for="wr_16">물품후원</label>   
                        <input type="radio" name="wr_16" id="wr_16" value="4" <?php echo ($wr_16 == "4") ? " checked" : "";?> /><label for="wr_16">기타</label>

죄송합니다.
원인을 찾았습니다. DB로 전송이 되는 것에는 id 값과 for 값은 상관이 없다는 것을 알게 되었습니다.
그래서 DB 로 전송 되는 것은 name 값과 value 값이 넘어 간다는 것도 알게 되었습니다.
그래서 name 값이 wr_4로 했다면 id 값과 for값은 다른 것으로 지정을 해야 하는 부분이 있었습니다.
for 값이 없을 경우에는 저 같은 경우에는 부트스트랩을 사용 하기에 라디오 체크가 사라지는 현상이 있어서 이것 때문에 제가 햇갈렸던 것 같습니다. name 값과 다른 것들도 다 동일하게 해야 된다고 해서 다 똑같이 해벼렀더니 이런 문제가 생겼네요
다시 한번 작은별님께 죄송하다는 말씀 전하고 싶습니다.
그렇다고 작은별님께서 만드신게 잘못 됬다는 것은 아닙니다.
혹시나 마음상하셨으면 풀어주세요 다시한번 죄송합니다.
쪽지로 카톡 아이디 하나 주시면 제가 작으마한 선물 보내 드리도록 하겠습니다. 죄송합니다.

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

회원로그인

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