채택완료

배열 체크박스 체크상태 유지 질문입니다

2023-07-13 (목) 08:55:21 2,598

모달창에 체크박스 선택하는 곳이 있는데 선택 후 저장을 하면 DB에 값은 저장이되지만 다시 모달창에 들어가보면 체크박스가 다 해제되어있는데 DB에 있는 값이면 체크 상태 유지로 하고싶습니다

모달창 안에 이 체크박스 코드가 있구요 정보수정기능입니다.

Copy
$wr_5 = explode(",", $write['wr_5']);

               

                //$checked = in_array($gift, $wr_5) ? " checked" : "";

                ?>

                상품권 : <div>

                <label class="checkbox-inline">

               

                <input type="checkbox" name="check[]" id="wr_5" value="백화점" <?php echo in_array("백화점", $wr_5) ? " checked " :"" ?>> 백화점

            </label>

            <label class="checkbox-inline">

                <input type="checkbox" name="check[]" id="wr_5" value="국민관광"  <?php echo in_array("국민관광", $wr_5) ? " checked " :'' ?>> 국민관광

            </label>

            <label class="checkbox-inline">

                <input type="checkbox" name="check[]" id="wr_5" value="농협" <?php echo in_array("농협", $wr_5) ? "checked":'' ?>> 농협

            </label>

            <label class="checkbox-inline">

                <input type="checkbox" name="check[]" id="wr_5" value= "홈플러스" <?php echo in_array("홈플러스", $wr_5) ? "checked" :'' ?>> 홈플러스

            </label>

            <label class="checkbox-inline">

                <input type="checkbox" name="check[]" id="wr_5" value="주유" <?php echo in_array("주유", $wr_5) ? "checked" :'' ?>> 주유

            </label>
Copy
$wr_5 = implode(',', $_POST['check']);

 

     $sql = sql_query("UPDATE gift_write_business_registratio

                        SET wr_subject = '{$wr_subject}',

                            wr_content = '{$wr_content}',

                            wr_link1 = '{$wr_link1}',

                            wr_1 = '{$wr_1}',

                            wr_2 = '{$wr_2}',

                            wr_3 = '{$wr_3}',

                            wr_4 = '{$wr_4}',

                            wr_5 = '{$wr_5}',

                            wr_9 = '{$wr_9}',

                            wr_10 = '{$wr_10}'

                        WHERE wr_id = '{$wr_id}'

                            ");

        sql_query($sql);

배열로 담았지만 checked가 전혀 안먹습니다ㅠㅠㅠ

답변 1개 / 댓글 8개

채택된 답변
+20 포인트
2023-07-13 (목) 09:18:34

$write['wr_5']에 값이 어떻게 담겨져있는지 echo $write['wr_5']로 찍어보시겠어요?

답변에 대한 댓글 8개

업데이트 부분에요?
2023-07-13 (목) 09:50:50
업데이트 부분 말고

$wr_5 = explode(",", $write['wr_5']);

//$checked = in_array($gift, $wr_5) ? " checked" : "";
?>
상품권 : <div>
<label class="checkbox-inline">

이부분에서요
찍어보니 Array로 표시되네여... 값이 안담겨있다는 뜻인가요??
2023-07-13 (목) 10:16:52
print_r($write['wr_5']);
로 찍어보세요,

지금 컴마(,)로 나눠서 $wr_5변수에 배열로 담으려고 하고있는데 애초에 $write['wr_5']가 배열일수도 있겠네요
<?php print_r($write['wr_5']) ;?>
$write['wr_5'] 로 쓰면 아무것도 안나오고 $wr_5로 쓰면 Array ( [0] => ) 이렇게 표시되네요
2023-07-13 (목) 10:35:35
지금 출력하려는 부분이
view페이지인가요 write페이지 인가요?

뷰페이지라면 변수가 $write이 아니라 $view로 시작되어야합니다

헷갈리시면 둘다 print_r로 찍어보세요
$wr_5 말고는 아무것도 안나오네요..
2023-07-13 (목) 14:52:07
$wr_5가 배열로 담긴다는 말씀이신가요..?
$wr_5에 배열이 정상적으로 들어가있다면, 올려주신 소스코드는 문제가 없습니다.

답변을 작성하려면 로그인이 필요합니다.