다중체크 문자열 치환 질문좀 드리겠습니다
본문
작은별님께서 알려주신링크로 원하는걸 결과를 얻었지만 다른부분문제로 문의드립니다
write
<?php
$schedule = explode(",", $write['schedule']); //옵션1
?>
<th>학문 일정관리</th>
<td>
<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"':'';?>> 영어
</td>
write_update_skin
$schedule= "$schedule[0],$schedule[1],$schedule[2],$schedule[3]"; // 옵션1
$sql = "UPDATE ".$write_table." SET schedule=".$schedule." WHERE idx=".$idx;
sql_query($sql);
문학 역사를 체크하고 저장하면 디비에 문학,역사 이렇게 들어가는게 아니고 ,문학,역사, 이렇게 체크가 없는거는 ,가 들어가는데 체크한것만 들어가게 하고 싶습니다
그리고 view페이지에서 <?php echo preg_replace("/,/", " ", $view['schedule']); ?> 로 불러오면
문학 역사 이렇게 나오게 되어있는데 마찬가지고 문학,역사 이렇게 보여주고 싶습니다
조금만 도움을 주시면 감사하겠습니다
답변 3
$schedule= "$schedule[0],$schedule[1],$schedule[2],$schedule[3]"; // 옵션1
$schedule = implode(",", $_POST['schedule']);
$str = "";
foreach($schedule as $key => $value) {
if ($value) {
if ($str) $str .= ", ";
$str .= $value;
}
}
$sql = "UPDATE ".$write_table." SET schedule=".$str." WHERE idx=".$idx;
sql_query($sql);
이렇게 하시면 될겁니다.
!-->자체 해결하였습니다 도움 주셔서 감사합니다..