다중선택 값에서 input 선택된 놈일 때 checked 표시 뜨게 하는 방법 채택완료
Darcy
7년 전
조회 2,642
</p>
<p><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></p>
<p>
다중선택을 구현했습니다 DB에도 잘들어가고 해당 일정관리에서도 잘 표현이 되는데요
문제는 수정을 하거나 관리자로 들어가면 디비에는 분명히 예) 수학,역사 이렇게 되어있지만
체크박스에는 전혀 해당부분에 체크가 안되어있습니다
이부분을 체크박스에 표시가 되게 하고싶은데 아직 초보라서 잘 모르겠습니다
조금만 자세히 가르쳐 주시면 감사하겠습니다..
해당 쿼리문은 필요가 없는거 같아서 안올렸습니다..
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
7년 전
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'";
}?>> 수학
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
천천히한걸음
7년 전
필드 한개를 사용합니다 그리고 쿼리문으로 explode 사용하고있습니다 일단 가르쳐주신데로 한번 해보겠습니다
�
천천히한걸음
7년 전
목동님이 알려주신걸로 해보았으나 제가 아직 스킬이 부족해서 잘 따라가지를 못하는거 같습니다
현제 write 부분에서 위에 다중선택부분이고 그거를 write.update 에서 쿼리문으로 처리했습니다
알려주신데로 해보니 DB로 값이 저장이 안되고 체크가 안되어있는 부분도 다 체크가 되어버립니다..ㅠ_ㅠ
현제 write 부분에서 위에 다중선택부분이고 그거를 write.update 에서 쿼리문으로 처리했습니다
알려주신데로 해보니 DB로 값이 저장이 안되고 체크가 안되어있는 부분도 다 체크가 되어버립니다..ㅠ_ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인