DB 연동 셀렉트박스 질문입니다.

DB 연동 셀렉트박스 질문입니다.

QA

DB 연동 셀렉트박스 질문입니다.

본문


<?php
include_once('./_common.php');
    $sql = " select wr_subject from g5_write_sub_01_01 ";
    $res = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($res); $i++) {
          $nm[$i] = $row['wr_1'].'|1|'.$row['wr_2'].'|2|'.$row['wr_3'].'|3|'.$row['wr_4'].'|4|';
    }
?>

<script type="text/javascript">
 function getCataAllId(cmd){
  cmd = eval(cmd);
  cmd2 = cmd +1;
  initCataID(cmd);
  var ch = "";
  for(var idx = 1; idx < cmd2; idx++){
      ch = ch + eval("document.f1.menu"+idx+".value") + "|"+idx+"|";
  }
  var v = 0;
  var temp = "";
  var tempv = "";
  var arg = "";
  for(var m = 0; m < menuArr.length; m ++) {
      arg = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|")) ;
      temp = menuArr[m].substring(0, menuArr[m].indexOf("|"+cmd+"|")+3);
      if(temp == ch && tempv != arg ){
            v++;
            eval("document.f1.menu"+cmd2+".length = document.f1.menu"+cmd2+".length + 1");
            eval("document.f1.menu"+cmd2+".options["+v+"].value = arg ");
            eval("document.f1.menu"+cmd2+".options["+v+"].text  = arg ");
      }
      if(temp != ch){
          tempv = "";
      }else{
          tempv = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|"));
      } 
  }
}
 
 function initCataID(cmd){
 cmd = eval(cmd);
  if(cmd == 1){
      document.f1.menu2.length = 1;
      document.f1.menu3.length = 1;
      document.f1.menu4.length = 1;
      document.f1.menu2.selectedIndex = 0;
      document.f1.menu3.selectedIndex = 0;
      document.f1.menu4.selectedIndex = 0;
  }
  if(cmd == 2){
      document.f1.menu3.length = 1;
      document.f1.menu4.length = 1;
      document.f1.menu3.selectedIndex = 0;
      document.f1.menu4.selectedIndex = 0;
  }
  if(cmd == 3){
      document.f1.menu4.length = 1;
      document.f1.menu4.selectedIndex = 0;
  }
 }

</script>

<form name = 'f1' >
<select name = 'menu1' id='menu1' OnChange='javascript:getCataAllId(1)' class="select1">
 <option value="" selected>선택하세요.</option>
</select>
<select name = 'menu2' id='menu2' OnChange='javascript:getCataAllId(2)' class="select2">
 <option value="" selected>선택하세요.</option>
</select>
<select name = 'menu3' id='menu3' OnChange='javascript:getCataAllId(3)' class="select3">
 <option value="" selected>선택하세요.</option>
</select>
<select name = 'menu4' id='menu4' OnChange='javascript:gotomenu()' class="select4">
 <option value="" selected>선택하세요.</option>
</select>
</form>

<script type="text/javascript">
/* JSON encode, parse  */
var stuff = <?php echo json_encode($nm); ?>;
var str = JSON.stringify(stuff);
var menuArr = new Array();
      menuArr= JSON.parse(str);
var z1 = 0;
var temp1 = 0;
  initCataID(1);
  for(var m = 0; m < menuArr.length; m ++) {
      if ( menuArr[m].substring(0, menuArr[m].indexOf("|1|")) != temp1 ){
          document.f1.menu1.length =  document.f1.menu1.length + 1;
          document.f1.menu1.options[z1+1].value = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
          document.f1.menu1.options[z1+1].text = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
          temp1 = menuArr[m].substring(0, menuArr[m].indexOf("|1|"));
          z1++;
      }
      /*  index 1에 중복 제거입니다.  */
  }
function gotomenu()
{
      location.href = '#';
}
</script>

 

sub_01_01 게시판의 wr_1 ,wr_2, wr_3, wr_4 의 여분필드를 불러오는건 잘 됩니다. 그런데,
저장이 안됩니다. 
저장이 된다쳐도 수정시 풀려버릴것 같은데...

어디를 수정해야 하는지 고수님들 조언 부탁 그립니다.^^

이 질문에 댓글 쓰기 :

답변 3

wr_1~4번의 폼을 <input hidden 으로 해서 전송되도록 해주셔야 할듯 한데요

등록시 저장은 어떻게 하고 있는지 파악이 되지 않아 확인은 어렵지만 등록시에 wr_1~4 폼값이 있다면 그 부분에 반영하면 되지만 없다면 추가해서 값을 적용해 주셔야 할듯 합니다.

form name = 'f1' 등록버튼은 어디있나요?

어디서 어떻게 저장하는지 알아야 상황에 맞는 답변이 가능합니다

위 코드가 write.skin.php 일부라면 스킨폴더에 write_upate.head.skin.php를 만들고

아래 코드를 넣으세요(menu1~menu4가 wr_1~wr_4에 저장 되어야 나올테니까요)

애초에 게시판 구조에 맞게 이름을 붙이면 아래와 같은 추가 작업이 필요 없을 것인데요

<?

$wr_1 = $menu1; $wr_2 = $menu2; $wr_3 = $menu3; $wr_4 = $menu4;

?>

 

위 질문 내용은 저도 검색하다가 알아냈는데요, 그누보드5 에 적용 하고자 합니다.
<form name = 'f1' >  내용은 원래 그누보드

<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" role="form" class="form">

에 적용 하고자 하는건데, 저장 방법을 몰라서 질문 드린 겁니다. ^^

기초가 약해서 항상 다른분들 도움으로 많이 배우는중이라..

죄송 합니다.



<form name = 'f1' >
<select name = 'menu1' id='menu1' OnChange='javascript:getCataAllId(1)' class="select1">
 <option value="" selected>선택하세요.</option>
</select>
<select name = 'menu2' id='menu2' OnChange='javascript:getCataAllId(2)' class="select2">
 <option value="" selected>선택하세요.</option>
</select>
<select name = 'menu3' id='menu3' OnChange='javascript:getCataAllId(3)' class="select3">
 <option value="" selected>선택하세요.</option>
</select>
<select name = 'menu4' id='menu4' OnChange='javascript:gotomenu()' class="select4">
 <option value="" selected>선택하세요.</option>
</select>
</form>

 

위 <option value="" selected>선택하세요.</option> 는 다중셀렉트 입니다.

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

회원로그인

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