채택완료

mb_6 저장관련

2017-12-26 (화) 18:28:39 2,277

회원여분필드mb_6에 체크박스 만들고 있습니다.

아래와 같이 해보니 다중선택해도 하나의 값만 저장이되서 

Copy
<input type="checkbox" name="mb_6" value="사과" <?php echo ($member['mb_6'] == "사과") ? "checked" : "";?>> 사과
<input type="checkbox" name="mb_6" value="수박" <?php echo ($member['mb_6'] == "수박") ? "checked" : "";?>> 수박
<input type="checkbox" name="mb_6" value="참외" <?php echo ($member['mb_6'] == "참외") ? "checked" : "";?>> 참외

다중처리를 위해 아래와 같이 했습니다.

희한하게 맞는거 같은데 안되서요.

소스한번 봐주세요.

register_form.skin.php

Copy
<?php
$mb6 = explode("|", $member['mb_6']);
?>

<input type="checkbox" name="mb6[0]" value="사과" <?php echo ($mb6[0] == "사과") ? "checked" : "";?>> 사과
<input type="checkbox" name="mb6[1]" value="수박" <?php echo ($mb6[1] == "수박") ? "checked" : "";?>> 수박
<input type="checkbox" name="mb6[2]" value="참외" <?php echo ($mb6[2] == "참외") ? "checked" : "";?>> 참외

register_form_update.tail.skin.php

Copy
$mb_6 = "$mb6[0]|$mb6[1]|$mb6[2]";

답변 3개 / 댓글 3개

채택된 답변
+20 포인트
2017-12-26 (화) 18:50:45

register_form_update.tail.skin.php 파일에서

$mb_6 = "$mb6[0]|$mb6[1]|$mb6[2]"; 를 db에 해당 mb_6 필드에 업데이트를 해줘야 합니다.

$sql = " update $g5['member_table'] set mb_6 = '{$mb_6}' where mb_id = '$mb_id' ";
sql_query($sql);

답변에 대한 댓글 1개

2017-12-26 (화) 19:30:25
일단 업데이트부분에 알려주신대로 업데이트처리하고 네임을 바꿨더니 되네요. 감사합니다.

<?php
$ex_6 = explode("|", $member['mb_6']);
?>
<span><input type="checkbox" name="ex6_00" value="사과" <?php echo ($ex_6[0] == "사과") ? "checked" : "";?>> 사과</span>
<span><input type="checkbox" name="ex6_01" value="수박" <?php echo ($ex_6[1] == "수박") ? "checked" : "";?>> 수박</span>
<span><input type="checkbox" name="ex6_02" value="참외" <?php echo ($ex_6[2] == "참외") ? "checked" : "";?>> 참외</span>


$mb_6 = "$ex6_00|$ex6_01|$ex6_02|$ex6_03";
$sql = " update {$g5['member_table']} set mb_6 = '{$mb_6}' where mb_id = '{$mb_id}' ";
sql_query($sql);

저렇게 하면 제대로 저장되도 수정시에 체크가 안되있을텐데요?

사과, 참외, 수박 순서인데

사과를 체크하지않고 참외, 수박만 체크를 한다고 가정해본다면

해당 회원이 수정시에

체크박스에는 <?php echo ($ex_6[0] == "사과") ? "checked" : "";?>

이부분이 말이안됩니다

왜냐?

$ex_6[0]에는 참외부터 들어가기 때문입니다.

코드자체가 문제가있어요

참고해보세요

https://sir.kr/qa/213823?vpage=1#answer_213830

답변에 대한 댓글 1개

2017-12-27 (수) 10:42:48
잘되는데요? 아 불안해서 다시 또 봐야겠네요.ㅎ
님이 올려놓으신 팁도 예전에 봤습니다.감사합니다.

register_form_update.tail.skin.php

의

$mb_6 = $mb6[0]."|".$mb6[1]."|".$mb6[2];

이렇게 해보세요~

답변에 대한 댓글 1개

2017-12-26 (화) 18:42:21
안됩니다.ㅜㅜ

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