다중선택 값에서 input 선택된 놈일 때 checked 표시 뜨게 하는 방법

다중선택 값에서 input 선택된 놈일 때 checked 표시 뜨게 하는 방법

QA

다중선택 값에서 input 선택된 놈일 때 checked 표시 뜨게 하는 방법

답변 1

본문


<tr>
    <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>
</tr>

다중선택을 구현했습니다 DB에도 잘들어가고 해당 일정관리에서도 잘 표현이 되는데요

문제는 수정을 하거나 관리자로 들어가면 디비에는 분명히 예) 수학,역사 이렇게 되어있지만

체크박스에는 전혀 해당부분에 체크가 안되어있습니다

이부분을 체크박스에 표시가 되게 하고싶은데 아직 초보라서 잘 모르겠습니다

조금만 자세히 가르쳐 주시면 감사하겠습니다..

해당 쿼리문은 필요가 없는거 같아서 안올렸습니다..

이 질문에 댓글 쓰기 :

답변 1

DB에 들어갈때 수학 문학 역사 영어 필드가 따로 있는것인가요. 필드가 따로 있는경우이면 위에서 하신방법이 맡을것이구요. 그렇지 않고 하나의 필드에 수학,역사 이런식으로 조합해서 DB에 입력이 된다면 explode 나 strpos 정도의 함수로 체크 해야 할듯 합니다. explode일경우 이정도면 되지 않을까요. 

<?
$schedule="수학,역사";
$tmp = explode(",",$schedule);
?>
 <input type="checkbox" name="schedule[0]" value="수학" 
  
<?php for($i=0;$i<sizeof($tmp);$i++){
    if($tmp[$i]=="수학")echo "checked='checked'";
}?>> 수학 

목동님이 알려주신걸로 해보았으나 제가 아직 스킬이 부족해서 잘 따라가지를 못하는거 같습니다
현제 write 부분에서 위에 다중선택부분이고 그거를 write.update 에서 쿼리문으로 처리했습니다
알려주신데로 해보니 DB로 값이 저장이 안되고 체크가 안되어있는 부분도 다 체크가 되어버립니다..ㅠ_ㅠ

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