전체게시판 관리의 여분필드 cf_2 를 이용하는 방법 도움 부탁합니다

전체게시판 관리의 여분필드 cf_2 를 이용하는 방법 도움 부탁합니다

QA

전체게시판 관리의 여분필드 cf_2 를 이용하는 방법 도움 부탁합니다

본문

전체 관리자 페이지의 여분필드 cf_2 를 배열을 이용여 체크박스를 해보고자 아래와 같이 했는데 저장이 되질 않네요..다른 곳에두 설정을 해야하나요..

아래는 adm/config_form.php 에서 여분필드 cf_2 를 이용하기 위해 추가한 내용입니다.


<?php $cf_bs = explode(",", $config['cf_2']);{?>
  <input type="checkbox" id="cf_bs[0]" name="$cf_bs[0]" value="yes"<?php echo ($cf_bs[0] == "yes") ? " checked" : "";?>> yes
 <?php } ?>

이 질문에 댓글 쓰기 :

답변 6

업데이트 되는곳의 코드도 같이 수정해주셔야 할거같습니다.

아니면 cf_2 네임을 가진 인풋을 타입 hidden으로 넣고 서브밋 할때 액션하기 전에 배열로 가진 인풋들의 값을 배열로 만들어서 cf_2의 값으로 넣고 서브밋 하는방식도 있습니다.

// 예제
<input type='hidden' name='cf_2' id='cf_2' />
<?php

$cf_bs = explode(",", $config['cf_2']);

for ($i = 0; $i > count($cf_bs); $i++) { ?>

<input type="checkbox" class="cf_2_value" id="cf_bs[<?php echo $i; ?>]" name="cf_bs[<?php echo $i; ?>]" value="yes"<?php echo ($cf_bs[0] == "yes") ? " checked" : "";?>>

<?php
}
?>
<script>
function 서브밋함수() {
  ....코드
  var cf_2_value = [];
  $('.cf_2_value').each(function() {
    var _this = $(this);
    var value = _this.value();
    cf_2_value.push(value);
  });
  $('#cf_2').value(cf_2_value.join(','));
}
</script>

장문의 답변 감사합니다.. 제가 초보라 뭔지가 통모르겠내요..

현재는 값은 불러오는 것은 다음에 하구~~배열로 체크박스를 만들어 저장이 되면 그 저장된 값은 다음에 불러와 쓰려고 하는 중이거든요~~~
일단 저장하는 방법을 모르겠습니다만~~ 체크박스부분만 코드를 작성해두 체크박스가 출력되질 않네요

phpmyadmin 으로 들어가 봤는데 cf_2에는 아무것도 없습니다

그렇다면 작성된 데이터가 없다는 거네요.
explode(",", $config['cf_2']); 이 부분이 ,를 기준으로 배열로 자른다는 explode 함수인데,
인풋의 네임값이 $cf_bs[0] 라서 안들어갑니다. cf_2[] 로 하신다고 해도 타입이 맞지 않아 들어가지 않으실겁니다.
일단 폼 안에
<input type='hidden' name='cf_2' id='cf_2' /> cf_2 여분필드에 넣을수 있는 인풋 폼을 만들어주시고,
서브밋 함수 안에 retrun true 직전에
var cf_2_value = [];
$('클래스').each(function() {
    var _this = $(this);
    var value = _this.value();
    cf_2_value.push(value);
});
$('#cf_2').value(cf_2_value.join(','));
위 코드를 넣어주세요.

아래와 같이하면 어떤 문제가 있나요.. 추가필드가 안닌 기존 필드에서도 업데이트 쿼리문을 별도로 작성해야하나요..

여전히 저장이 안되서요


<?php
$cf_bs = explode("-",$config['cf_2']);     { 
$code_name = "cf_bs";
 ?>
 <?php
$color = array("gray","red","yellow","green","blue","indigo","purple","dark");
for($i=0;$i<=7;$i++){?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $color[$i]?>"<?php echo (${$code_name}['0'] == "{$color[$i]}") ? " checked" : "";?>> <?php echo $color[$i]?>
<?php }?>
<?php }?>
 
 

위 내용은 member_form.php에서 작성한거구 그때는 추가로 member 테이블에 여분필드 생성해서 했구여...

member_form_update.php 에서 아래와 같이 업데이트 구문을 넣어서 했었어요.


member_form.php 이구여
<?php
        $bg_total_02 = explode("-",$mb['mb_22']); // 메뉴바 전체 배경
        { // 메뉴바 전체 배경
        $code_name = "bg_total_02";
        ?>
<?php
 $color = array("gray","red","yellow","green","blue","indigo","purple","dark");
  for($i=0;$i<=7;$i++){
 ?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $color[$i]?>"<?php echo (${$code_name}['0'] == "{$color[$i]}") ? " checked" : "";?>> <?php echo $color[$i]?>
<?php }?>
 
member_form_update.php 내용이구요
$mb_22 = "$bg_total_02[0]-$bg_total_02[1]-$bg_total_02[2]-$bg_total_02[3]-$bg_total_02[4]-$bg_total_02[5]-$bg_total_02[6]-$bg_total_02[7]";
sql_query(" update {$g5['member_table']} set mb_22 = '$mb_22' where mb_id = '$mb_id' ");

 

위에서 처럼해서 회원정보수정에서 작성하면 저장 되었었는데  이것을 config_form.php 에 응용해서 하려니 안되네요...

member_form_update.php에서 일단


// sql_query(" update {$g5['member_table']} set mb_22 = '$mb_22' where mb_id = '$mb_id' ");
// 이 부분에서 쿼리를 찍어보세요
echo update {$g5['member_table']} set mb_22 = '$mb_22' where mb_id = '$mb_id';
exit;

아르키어드님 감사합니다. 

config_form.php 에 아래와 같이 넣고


<?php } ?>
<?php  $cf_bs = explode(",",$config['cf_1']);     {
$code_name = "cf_bs"; ?>
<?php    $header = array("wide","middle");
for($i=0;$i<=1;$i++){?>
<input type="radio" name="<?php echo $code_name?>[0]" value="<?php echo $header[$i]?>"<?php echo (${$code_name}['0'] == "{$header[$i]}") ? " checked" : "";?>> <?php echo $header[$i]?>
                <?php }?>
<?php }?>

 

config_form_update.php 에 아래와 같이 넣었더니 저장이 되었습니다


$cf_1 = "$cf_bs[0]";
sql_query(" update {$g5['config_table']} set cf_1 = '$cf_1'");

덕분에 여러가지 생각을 하게 되었고 많은 도움이 되었습니다..~인터넷 검색도 많이 해봤구여...

감사합니다 

 

페이지에서 불러올땐 아래와 같이하면 되구여

 


<?php echo $bo_bs[0];?>
답변을 작성하시기 전에 로그인 해주세요.
전체 123,638 | RSS
QA 내용 검색

회원로그인

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