sql GROUP BY 질문입니다.

sql GROUP BY 질문입니다.

QA

sql GROUP BY 질문입니다.

본문


 
<?php
$sql = " SELECT wr_7, wr_5, wr_subject, wr_9, wr_3, wr_4 FROM g5_write_exam_location WHERE wr_9 > (NOW() +INTERVAL 3 DAY) GROUP BY wr_7, wr_5, wr_subject, wr_9, wr_3, wr_4 ";
 
for ($i=0; $row = sql_fetch_array($result); $i++) {
      $nm[$i] = $row['wr_7'].'|1|'.$row['wr_5'].'|2|'.$row['wr_subject'].'|3|'.$row['wr_9'].'|4|'.$row['wr_3'].'|5|'.$row['wr_4'].'|6|';
    }
?>
 
<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.fwrite.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.fwrite.menu" + cmd2 + ".length = document.fwrite.menu" + cmd2 + ".length + 1");
            eval("document.fwrite.menu" + cmd2 + ".options[" + v + "].value = arg ");
            eval("document.fwrite.menu" + cmd2 + ".options[" + v + "].text  = arg ");
        }
        if (temp != ch) {
            tempv = "";
        } else {
            tempv = menuArr[m].substring(menuArr[m].indexOf("|" + cmd + "|") + 5, menuArr[m].indexOf("|" + cmd2 + "|"));
        }
    }
}

function initCataID(cmd) {
    cmd = eval(cmd);
    if (cmd == 1) {
        document.fwrite.menu2.length = 1;
        document.fwrite.menu3.length = 1;
        document.fwrite.menu4.length = 1;
        document.fwrite.menu5.length = 1;
        // document.fwrite.menu6.length = 1;
        document.fwrite.menu2.selectedIndex = 0;
        document.fwrite.menu3.selectedIndex = 0;
        document.fwrite.menu4.selectedIndex = 0;
        document.fwrite.menu5.selectedIndex = 0;
        // document.fwrite.menu6.selectedIndex = 0;
    }
    if (cmd == 2) {
        document.fwrite.menu3.length = 1;
        document.fwrite.menu4.length = 1;
        document.fwrite.menu5.length = 1;
        // document.fwrite.menu6.length = 1;
        document.fwrite.menu3.selectedIndex = 0;
        document.fwrite.menu4.selectedIndex = 0;        
        document.fwrite.menu5.selectedIndex = 0;
        // document.fwrite.menu6.selectedIndex = 0;
    }
    if (cmd == 3) {
        document.fwrite.menu4.length = 1;
        document.fwrite.menu5.length = 1;
        // document.fwrite.menu6.length = 1;
        document.fwrite.menu4.selectedIndex = 0;
        document.fwrite.menu5.selectedIndex = 0;
        // document.fwrite.menu6.selectedIndex = 0;
        
    }
    if (cmd == 4) {        
        document.fwrite.menu5.length = 1;
        // document.fwrite.menu6.length = 1;
        document.fwrite.menu5.selectedIndex = 0;
        // document.fwrite.menu6.selectedIndex = 0;
        
    }
    // if (cmd == 5) {        
    //     document.fwrite.menu6.length = 1;          
    //     document.fwrite.menu6.selectedIndex = 0;        
    // }
}
</script>
 
 
.
.
.
.
 
 
 
 <?php
         // $write['wr_11'] = $menu1;
         $wr_data['license_lot'] = $menu1;
         $wr_data['exam_lot'] = $menu2;
         $wr_data['exam_local'] = $menu3;
         $wr_data['exam_day'] = $menu4;
         $wr_data['exam_add1'] = $menu5;
         // $wr_data['exam_add2'] = $menu6;
        ?>

            <select name='wr_data[license_lot]' id='menu1' OnChange='javascript:getCataAllId(1)' required class="caaok-select">
                <option value="<?php echo $wr_data['license_lot'];?>" <?=($wr_data['license_lot'] == $wr_data['license_lot'])? 'selected':'$menu1';?>> 선택하세요 </option>
            </select>
        </div>

        <div class="col-md-2 col-xs-4 t-head border-top">검정종류</div>
        <div class="col-md-10 col-xs-8 ts-s-sub border-top">
            <select name='wr_data[exam_lot]' id='menu2' OnChange='javascript:getCataAllId(2)' required class="caaok-select">                
                <option value='<?=$wr_data['exam_lot']?>' <?=($wr_data['exam_lot'] =='' )? 'selected':'';?>> 선택하세요 </option>                  
            </select>
        </div>
        <div class="col-md-2 col-xs-4 t-head border-top ">검정장선택</div>
        <div class="col-md-10 col-xs-8 ts-s-sub border-top">
          <select name='wr_data[exam_local]' id='menu3' OnChange='javascript:getCataAllId(3)' required class="caaok-select">
            <option value='<?=$wr_data['exam_local']?>' <?=($wr_data['exam_local'] =='' )? 'selected':'';?>> 선택하세요 </option>
          </select>
          <span name ="exam_add1" id="exam_add1" class="text-danger"></span> <span name ="exam_add2"  id="exam_add2" class="text-danger"></span>
        </div>

 

신청서 작성 멀티샐랙터입니다.  총5단계 입니다.

 

(1단계 )

3749955406_1645690819.9166.png

 

(2단계 )

 

3749955406_1645690876.169.png

 

 

보시면 아시겠지만  3개의 시험일정을 미리 등록해 두었는데,

sql 호출해서 GROUP BY 를 적용했는데, 1단계는 되는데, 2단계는 적용이 안됩니다.

혹시 아래 스크립트 때문인지 궁금합니다.


<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.fwrite.menu1.length =  document.fwrite.menu1.length + 1;
          document.fwrite.menu1.options[z1+1].value = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
          document.fwrite.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>
 

이 질문에 댓글 쓰기 :

답변 3

DB 기반 다중 셀렉트박스 처리시에는 ajax 를 활용하는 것이 더 쉬운 편입니다.

 

https://sir.kr/g5_tip/12370

 

https://blog.naver.com/PostView.nhn?blogId=yk89_jeong&logNo=221534316565

 

https://www.allphptricks.com/dynamic-dependent-select-box-using-jquery-and-ajax/

 

https://sir.kr/qa/292943

 

빠른 답변 감사합니다.  알려주신 링크 내용을 읽어 보았으나, 이해도 잘 안되지만. (ㅡㅡ;)
저의 질문과는 약간은 다른 답변 같아서 채택은 힘들 것 같아요..^^
감사합니다.

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

회원로그인

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