테스트 사이트 - 개발 중인 베타 버전입니다

여분필드 체크박스 보기페이지에서의 질문 채택완료

망이망소이 7년 전 조회 2,376

여분필드 체크박스 소스 찾아본 방법중 하나인데요.

잘 작동하는 소스입니다.

 

여분필드 4개중 wr_2에 저장하고 있구요.

 

궁금한것은 view 페이지와  list페이지에서 

어떻게 꺼내야 하는지 해서 입니다.

아직 list페이지는 안해봤는데 view페이지에서는 

저장할때 값들 사이에 넣은 쉼표(,)가 그대로 같이 나오드라구요.

안나와야 될듯 한데. 방법이 있을지 있다면, 조언 부탁드립니다.

 

 

</p>

<p>            <?php

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

            ?>

            <span><input type="checkbox" name="ex1_00" value="1" <?php echo ($ex_1[0] == "1") ? "checked" : "";?>> 1</span>

            <span><input type="checkbox" name="ex1_01" value="2" <?php echo ($ex_1[1] == "2") ? "checked" : "";?>> 2</span>

            <span><input type="checkbox" name="ex1_02" value="3" <?php echo ($ex_1[2] == "3") ? "checked" : "";?>> 3</span>

            <span><input type="checkbox" name="ex1_03" value="4" <?php echo ($ex_1[3] == "4") ? "checked" : "";?>> 4</span>

            <span><input type="checkbox" name="ex1_04" value="5" <?php echo ($ex_1[4] == "5") ? "checked" : "";?>> 5</span>

            <span><input type="checkbox" name="ex1_05" value="6" <?php echo ($ex_1[5] == "6") ? "checked" : "";?>> 6</span>            

 </p>

<p>

 

write_update.skin.php

</p>

<p><?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>

$wr_2 = "$ex1_00,$ex1_01,$ex1_02,$ex1_03,$ex1_04,$ex1_05";</p>

<p>

$sql  = "

  update $write_table

     set wr_1 = '{$wr_1}',

         wr_2 = '{$wr_2}',

         wr_3 = '{$wr_3}',

         wr_4 = '{$wr_4}'

    where wr_id = '{$wr_id}' ";

sql_query($sql);</p>

<p>?></p>

<p>

 

 

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

답변 2개

채택된 답변
+20 포인트
7년 전

지금의 방식에서

$view, $list 페이지에서($view['wr_2'], $list[$i]['wr_2']) 컴마(,) 중복을 빼고 출력하는 방법은

$wr_2 = implode(',' ,array_unique(explode(',', $view['wr_2'])));

echo $wr_2; 입니다.

 

checkbox  값 저장/출력시 다른방법을 사용할 수는 있습니다. (추천)

<input type="wr_2[]" value="php" />

<input type="wr_2[]" value="asp" />

<input type="wr_2[]" value="jsp" />

 

implode (",", $wr_2) 로 저장하면

체크된 것만 저장이 되고, (<php,asp>, <asp,jsp>, <php,asp,jsp>, <jsp> 등)

 

write 페이지에서 출력하는 경우에는

$arr = explode(",", $wr_2); 후

<?php in_array("php", $arr) ? 'checked="checked"' : '' ?>

<?php in_array("asp", $arr) ? 'checked="checked"' : '' ?>

<?php in_array("jsp", $arr) ? 'checked="checked"' : '' ?>

식으로 해주면 됩니다. http://php.net/manual/kr/function.in-array.php" target="_blank">http://php.net/manual/kr/function.in-array.php

 

view 페이지와 list 페이지에서는 바로 <?php echo $view['wr_2'] ?>, <php echo $list[$i]['wr_2'] ?>

로 출력해주어도 됩니다.

 

전 질문에서, wr_2  의 체크된 값들이  db 에 저장되지 않는 것은 (저에게는 조금) 미스테리였습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
7년 전
친절한 설명 감사드립니다 ^^

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

7년 전

뷰 페이지에서는 $ex_1 = explode(",", $view['wr_2']); 으로 꺼내세요~

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
7년 전
감사합니다.
님. 혹시 , 뺴는 방법 아세요?
예를 들어 1과 3을 선택하면
1,,2,,, 이런식으로 나와서요.ㅋㅋ

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

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

로그인