Tip & Tech

활용팁

홈 > 회원포럼 > 활용팁
활용팁

체크박스 checkbox 배열 저장 해결

5 피의전설 7 918 3 0

뭐 무식하면 몸이 고생해야져... 

몇시간을 빡쳐서... 새벽 4시에 겨우 해결했네요.

구글링이니 sir이니 다 뒤져가며.. 

 

와 정말 머리끝까지 열이나서... 어휴..... 혼자 화나서..  ^^;

 

이유는 모르겠지만 체크박스 name="wr_2[] "

여기 팁이랑 sir 찾기, 구글링 등등 나온것처럼

저렇게 주면 안되네요. 

아무래도 여기저기서 저 변수를 써서 그런듯한대 name을 다르게 주세요 

저는 name=wr_2_baeyul[]

 

몇시간 삽질하다 맨붕와 이거저거 해보다 발견... ㅜㅜ

 

 

==================

write.skin.php 에는

==================

<?php

$wr_2_arr = array( '2D 디자이너', '3D 디자이너', 'UX 디자이너', '건축 디자이너', '공간 디자이너', '웹 디자이너', '인테리어 디자이너', '일러스트레이터')

?>

<div class="form-group has-feedback">

    <label class="col-sm-2 control-label" for="wr_2">직무</label>

    <div class="col-sm-10">

      <?php $array_wr_2 = explode(',', $write['wr_2']); ?>

      <?php for($i=0; $i < count($wr_2_arr); $i++) { ?>

      <label class="checkbox-inline">

        <input type="checkbox" name="wr_2_baeyul[]" id="wr_2_<?php echo $i;?>" value="<?php echo $wr_2_arr[$i];?>" <?php if(in_array($wr_2_arr[$i], $array_wr_2)) echo 'checked="checked"'; ?>>

        <?php echo $wr_2_arr[$i];?> </label>

      <?php } ?>

      <?php echo $write['wr_2']; ?> </div>

  </div>

 

 

 

==================

write_update.head.skin.php 이거 없으면 만드시고

==================

<?php

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

$wr_2 = implode(",", $_POST['wr_2_baeyul']);

?>

 

 

==================

view.skin.php 에는

==================

직무<br>

 <?php echo str_replace("" , ", " , $view['wr_2']); ?>

 

====================================================================================================================================

RADIO

 

 

 

  <?php

$wr_7_arr = array( '주택', '타운하우스', '콘도', '아파트', '사업체', 'Commercial 등')

?>

  

    

      <?php for($i=0; $i < count($wr_7_arr); $i++) { ?>

      <label class="checkbox-inline">

        <input type="radio" name="wr_7" id="wr_7<?php echo $i;?>"  value="<?php echo $wr_7_arr[$i];?>" <?php echo get_checked($wr_7_arr[$i], $write['wr_7']);?>>

        <?php echo $wr_7_arr[$i];?> 

         </label>

      <?php } ?>

     

 

 

====================================================================================================================================

SELECT

 

 

<?php

 $count_arr = array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10');

?>

 

        <select name="option5_0" class="form-control input-sm" style="padding-right:5px;">

          <option value="">선택해주세요</option>

          <?php for($i=0; $i < count($count_arr); $i++) { ?>

          <option value="<?php echo $count_arr[$i];?>"<?php echo get_selected($count_arr[$i], $write['wr_5']);?>><?php echo $count_arr[$i];?></option>

          <?php } ?>

        </select>

      

====================================================================================================================================

 

=======================================================================================

sql로 여러개  for문 loop로   

=======================================================================================

 <select name="wr_2" required  class="form-control input-sm" id="wr_2">

        <option value="" onClick="location.href='/bbs/write.php?bo_table=<?php echo $bo_table; ?>&maincode=<?php echo $write['wr_1']; ?>&detailcode=&subcode=<?php echo $write['wr_3']; ?>'">선택하세요</option>

        <?php

  $result = sql_query( " select wr_id, wr_subject, wr_1, wr_2, wr_3 from  g5_write_m_manage_detail where 1=1  order by wr_id desc ", false );

  for ( $i = 0; $row = sql_fetch_array( $result ); $i++ ) {

  ?>

        <option value="<?php echo $row['wr_id']; ?>" <?php echo get_selected($row['wr_id'],  $write['wr_2']); ?> 

   onClick="location.href='/bbs/write.php?bo_table=<?php echo $bo_table; ?>&maincode=<?php echo $write['wr_1']; ?>&detailcode=<?php echo $row['wr_id']; ?>&subcode=<?php echo $write['wr_3']; ?>'"

   > <?php echo $row['wr_subject']; ?> </option>

        <?php } ?>

      </select>

 

 

=======================================================================================

sql로 한개만 가져오는거  

=======================================================================================

 <?php

$place = sql_fetch("SELECT wr_subject from g5_write_m_manage_main where wr_id='".$write['wr_1'] . "';") ;

    

  if (!$write['wr_subject']) { 

 $write['wr_subject'] = $place['wr_subject'];

 }

 

?>

 

 

=======================================================================================

radio  클릭시 input text 활성화

=======================================================================================

  <script>

  function check_r1(v){

  if(v=="비해당"){

   document.getElementById("wd_merit_text").disabled=true;

   } else {

    document.getElementById("wd_merit_text").disabled=false;

    }

  }

    function check_r2(v){

  if(v=="미혼"){

   document.getElementById("wd_wedding_date").disabled=true;

   } else {

    document.getElementById("wd_wedding_date").disabled=false;

    }

  }

  </script>

 

 

  <div class="form-group has-feedback">

    <label class="col-sm-2 control-label lb_b" for="wr_data[wd_merit]">국가유공자/장애인</label>

    <div class="col-sm-3">

      <div class="form-label">

        <label>

          <input type="radio" name="wr_data[wd_merit]" value="비해당" <?php echo get_checked('비해당', $wr_data['wd_merit']);?> onClick="check_r1(this.value);" >

          비해당</label>

        <label>

          <input type="radio" name="wr_data[wd_merit]" value="해당" <?php echo get_checked('해당', $wr_data['wd_merit']);?>  onClick="check_r1(this.value);">

          해당</label>

      </div>

    </div>

    <label class="col-sm-1 control-label" for="wr_data[wd_merit_text]">내용</label>

    <div class="col-sm-3">

      <input type="text" id="wd_merit_text" name="wr_data[wd_merit_text]" value="<?php echo $wr_data['wd_merit_text']; ?>" class="form-control input-sm" disabled >

    </div>

  </div>

 

 =======================================================================================

글쓰기 완료후 모달창 닫기

=======================================================================================

모달창에 글쓰기 후 완료후 창 자동으로 닫히게 하기

http://amina.co.kr/bbs/board.php?bo_table=apms_qa&wr_id=84530 여기 글대로 함


 write_update.tail.skin 에 넣을것


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


if($w == '') {

function RU_alert($msg1, $url1){ 

 $str = "<script>"; 

 $str .= "var partent = window.parent;"; 

 $str .= "alert('{$msg1}');"; 

 $str .= "location.href = '{$url1}';"; 

 $str .="parent.$('#viewModal').modal('hide'); "; 

 $str .= "</script>"; 

 echo "$str"; 

 exit; 



RU_alert('견적서가 발송되었습니다.','/bbs/page.php?hid=form_page_partner_list');


}


==========================================================================

한번에 업데이트 (풀버전 업데이트)


http://amina.co.kr/bbs/board.php?bo_table=apms_qa&wr_id=86757#c_86771 (한별아빠님)

댓글


코어수정을 하지 않았다면, 그냥 최종버전 풀버전으로 패치해 주면 됩니다. 

그누/영카트 풀버전 다시 올리고, 아미나빌더 풀버전(/thema 폴더 빼고) 다시 올린 후 테마관리 > 기본설정에서 DB업데이트 실행해 주고요. 


 ------------------------------------------------------------------------


http://amina.co.kr/bbs/board.php?bo_table=apms_qa&wr_id=107528 (한별아빠님)

1. 풀버전으로 하실려면, 그누/영카트 풀버전과 합친다음에 해 줘야 합니다. 안 그러면 아미나는 패치되지만, 아미나에서 손대지 않은 그누/영카트 원본 파일은 패치 안될꺼라 오류 생기겠죠. 

즉, 풀버전 패치는 새로 설치하는 것과 과정이 동일합니다. 

2. 그리고 테마관리 > 기본설정에서 DB업데이트 해줘야 하고, 문제는 그누쪽 지난 패치 내역도 체크해 보셔야 할 것입니다. DB쪽이라던지 스킨쪽에 패치에 따라서 추가적으로 수정해야 될 부분도 있기 때문에... 

3. 결국 패치는 한 방에 해도 지난 패치 내역은 반드시 다 체크하셔야 한다는 것입니다.(중요) 




 ------------------------------------------------------------------------ 

관리자에서 게시물 업데이트 및 새글DB복구 할때 리디렉션 관련 오류 조치 사례


http://amina.co.kr/bbs/board.php?bo_table=tip&wr_id=4595

 

7 Comments
18 사노라면 2017.12.28 09:58  
감사합니다
18 옛노래광 2017.12.28 10:25  
굉장하십니다...
학습해보니 너무나도 훌륭한 것입니다.
앞선 생각이 발전하는 법이다 라는 말이 맞는듯합니다.
새해 복 많이 받으세요....
M 한별아빠 2017.12.28 15:53  
1. 어... 글수정시 정상적으로 처리되나요?

2. checkbox의 경우 체크가 되지 않으면 파라메터 자체가 넘어가지 않기 때문에 배열이 틀어질텐데...

3. 만약 수정시 값이 틀어진다면, name="wr_2_baeyul[]" 부분을 name="wr_2_baeyul[<?php ehco $i;?>]" 처럼해서 배열위치를 지정해줘 보세요.
5 피의전설 2017.12.28 23:55  
한별아빠님께서 알려주셔서 수정 몇번 테스트 해봤는대 일단은 수정시 되는거 같습니다.
잘 모르다보니 왜 되는지는 모르지만..

혹시 나중 문제생기면 한별아빠님께서 알려주신 방법 적용해보겠습니다.

옛노래광 님 array( '2D 디자이너', '3D 디자이너', 'UX 디자이너', '건축 디자이너', '공간 디자이너', '웹 디자이너', '인테리어 디자이너', '일러스트레이터')

이거는 아미나 영화 스킨인가 거기서 본거 입니다.
거기서저거보고 코드 엄청 심플해져서 우와우와... 하며 감동먹었던 기억이 나네요.

라디오로 된거 checkbox로 살짝 고쳤습니다.
논리가 없다보니.. 무한삽질로... ㅜㅜ
18 옛노래광 01.03 14:52  
아.... 그랬군요,,
사라지는 망각의 시간들.....ㅎㅎ

1. 글수정시.. 안해봐서... 글작성시는 잘되네요.
  예. 진행CJ , 진행시간 등등
물론 필요에 따라서 사용하겠지만 시간이 지나고 좀 더 함꼐 궁리하다보면
좋은 결과가 나오지 않을까해요...

2. 라디오버튼도 물론 용도에 따라서 요긴하겠지만 화면상 선택박스로 우선 변경해보니
  좀 나으네요..

3. 학습은 쭈욱 이어질 것입니다..... 모두모두 고맙습니다...
10 폭스2 01.17 00:31  
좋은팁감사합니다
4 muto 03.08 16:42  
찾고있었는데 감사합니다
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand