다중선택시 체크박스 선택한것만 체크표시 나타나게

다중선택시 체크박스 선택한것만 체크표시 나타나게

QA

다중선택시 체크박스 선택한것만 체크표시 나타나게

본문

밑에 코드는 기존에 단일 선택할때 사용하던 코드입니다


 <th>일정관리</th>
 <td>
  <input type="checkbox" name="schedule[0]" value="수학" <?php echo $schedule=="수학" ? ' checked="checked"':'';?>> 수학
  <input type="checkbox" name="schedule[1]" value="문학"<?php echo $schedule=="문학" ? ' checked="checked"':'';?>> 문학
  <input type="checkbox" name="schedule[2]" value="역사"<?php echo $schedule=="역사" ? ' checked="checked"':'';?>> 역사
  <input type="checkbox" name="schedule[3]" value="영어"<?php echo $schedule=="영어" ? ' checked="checked"':'';?>> 영어
 </td>

필드테이블 한개만 사용해서 다중선택을 구현했습니다

DB에도 잘들어가고 해당 일정관리에서도 잘 표현이 되는데요

문제는 모든 체크박스가 항상 체크가 되어있습니다 선택한것만 체크가 되야 정상인데

어느부분에서 문제가 발생하는지 잘 모르겠습니다


<?php
$schedule = "수학,문학,역사,영어";
$tmp_schedule = explode(",",$schedule);
?>
<th>일정관리</th>
 <td>
<input type="checkbox" name="schedule[0]" value="수학"  
    <?php for($i=0;$i<sizeof($tmp_schedule);$i++){
            if($tmp_schedule[$i]=="수학") echo "checked='checked'";
        }?>> 수학
<input type="checkbox" name="schedule[1]" value="문학"  
         <?php for($i=0;$i<sizeof($tmp_schedule);$i++){
                if($tmp_schedule[$i]=="문학") echo "checked='checked'";
         }?>> 문학
<input type="checkbox" name="schedule[2]" value="역사"  
         <?php for($i=0;$i<sizeof($tmp_schedule);$i++){
                if($tmp_schedule[$i]=="역사") echo "checked='checked'";
         }?>> 역사
<input type="checkbox" name="schedule[3]" value="영어"  
         <?php for($i=0;$i<sizeof($tmp_schedule);$i++){
         if($tmp_schedule[$i]=="영어") echo "checked='checked'";
         }?>> 영어
</td>

선배님들 초보에게 친절한 설명 및 가르침을 내려주시면 감사하겠습니다 ㅠ

 

이 질문에 댓글 쓰기 :

답변 2

<input type="checkbox" name="schedule[0]" value="수학"<?php echo ($schedule[0]=="수학") ? ' checked="checked"':'';?>> 수학
<input type="checkbox" name="schedule[1]" value="문학"<?php echo ($schedule[1]=="문학") ? ' checked="checked"':'';?>> 문학
<input type="checkbox" name="schedule[2]" value="역사"<?php echo ($schedule[2]=="역사") ? ' checked="checked"':'';?>> 역사
<input type="checkbox" name="schedule[3]" value="영어"<?php echo ($schedule[3]=="영어") ? ' checked="checked"':'';?>> 영어

2109160675_1538251694.1677.gif

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

회원로그인

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