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

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

QA

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

본문

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

잘 작동하는 소스입니다.

 

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

 

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

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

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

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

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

 

 


            <?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>            
 

 

write_update.skin.php


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

$wr_2 = "$ex1_00,$ex1_01,$ex1_02,$ex1_03,$ex1_04,$ex1_05";

$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);
?>

 

 

이 질문에 댓글 쓰기 :

답변 2

지금의 방식에서

$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

 

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

로 출력해주어도 됩니다.

 

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

 

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

 

답변을 작성하시기 전에 로그인 해주세요.
전체 223
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT