검색시 결과값 불러오기

검색시 결과값 불러오기

QA

검색시 결과값 불러오기

본문

게시판을 스킨을 사용하여 업무기록같이 사용하고 있습니다.

게시물을 검색시 나오는 목록에서 wr_6 을 분류로 사용하고있습니다.

예)AA, BB, CC, DD, EE .....

또한 wr_9 를 wr_6 에 대한 수량으로 입력을 하고있습니다.

wr_name 이나 wr_subject 를 검색하여 목록이 나오면

검색 결과에 한해서 wr_6 의 값에 wr_9 합계(sum)를 보여주게 하고 싶습니다.

예)

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

1........................

2........................

.....

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

검색 결과에 대한 각각 wr_6 에 대한 합계값

AA = 합계값, BB = 합계값, CC = 합계값 .....

 

어떻게 해야할지 모르겠습니다.

검색 결과 코드는 아래와 같습니다.



$(function(){
    $("#list2").jqGrid({
        url:data_url,
        datatype: "json",
        colNames:['번호','wr_id','회사 상호','A/S 입고일','A/S 출고일','A/S 제품','수량','A/S 담당 위치','작성자'],
        colModel:[
            {name:'num',index:'num', width:50, align:'center', sortable: false, formatter:'integer'},    
            {name:'wr_id',index:'wr_id', key:true, hidden:true},
            {name:'wr_subject',index:'wr_subject', width:180, align:'left', classes:'td_hand'},
            {name:'wr_10',index:'wr_10', width:100, align:'center'},
            {name:'wr_11',index:'wr_11', width:100, align:'center'},
            {name:'wr_6',index:'wr_6', width:130, align:'center'},
            {name:'wr_9',index:'wr_9', width:50, align:'center'},
            {name:'wr_1',index:'wr_1', width:130, align:'center'},
            {name:'wr_name',index:'wr_name', width:100, align:'center'},
            
        ],
        loadui: 'enable',
        height: 390,
        autowidth:true,
        rowNum : 50, // 기본 페이지 줄수
        formatoptions: {decimalSeperator : ','}, // 숫자에 콤마 찍기
        rowList : [10,15,20,25,30,35,40,50,70,100],
        emptyrecords : "<span class='txt_red txt_bold'>검색된 자료가 없습니다.</span>",
        pager: '#pager2', // 페이지정보 위치
        sortname: 'wr_num, wr_reply',  // 기본 정렬 
        sortorder: "asc", // 기본정렬순서
        viewrecords: true, // 우측 하단 레코드 정보.(페이지등/총갯수)
        shrinkToFit: false, // 데이타 가로 길이 제한 없앰
        gridview : true,        
        multiselect: true,
        scroll:true, // 페이지 넘김방식이 아닌 다음페이지의 리스트를 현재리스트아래쪽으로 계속해서 붙임.
        editurl:delete_url,
        jsonReader: { repeatitems : false },
        mtype:'POST', // 전송방식 (검색시 또는 페이지 이동시
        postData: {
                bo_table:$("#bo_table").val(),
                sfl : $("#sfl").val(),
                stx : $("#stx").val(),
                fd : $("#fd").val(),
                td : $("#td").val(),
                fd10 : $("#fd10").val(),
                td10 : $("#td10").val(),
                fd11 : $("#fd11").val(),
                td11 : $("#td11").val(),
                wrname : $("#wrname").val(),
                w1 : function() {
                    var id = $("#fm_search2 input[name='w1[]']:checkbox:checked").map(function() {
                        return $(this).val();
                    }).get();
                    return id;
                },
                wr2 : $("#wr2").val(),
                wr3 : $("#wr3").val(),
                wr4 : $("#wr4").val(),
                wr5 : $("#wr5").val(),
                wr6 : $("#wr6").val(),
                wr7 : $("#wr7").val(),
                wr8 : $("#wr8").val(),
                wr9 : $("#wr9").val(),
                wr10 : $("#wr10").val(),
                wr11 : $("#wr11").val(),
                cn : $("#cn").val(),

        },
        caption: " ",
        ondblClickRow: function (rowId, iRow, iCol, e) {  // 더블클릭 이벤트
            ahref(rowId); // 셀 더블클릭시 글상세보기
        },
        onSelectAll: function(aRowids, status) { // 전체선택 클릭시
            var uid = $("#list2").jqGrid('getGridParam','selarrrow');
            $("#chk_cnt").text(uid.length).css({"color":"red","font-weight":"bold"});
        },
        onSelectRow: function(aRowids, status) { // 단일 선택시
            var uid = $("#list2").jqGrid('getGridParam','selarrrow');
            $("#chk_cnt").text(uid.length).css({"color":"red","font-weight":"bold"});
        },
        onCellSelect: function (rowId, columnIndex, cellcontent, e) { // 클릭(선택)
   
            var cm = $("#list2").jqGrid('getGridParam','colModel');
            switch (cm[columnIndex].name) {
                case "wr_subject" : // 회사 상호 원클릭시 글보기 화면으로
                    ahref(rowId);
                    break;
            }
        },
        loadComplete : function(data) {

            // 자료 불러오기 성공시 resetn 값과 records 값 체크
            if(data.resetn=="Y" && data.records>0 && data.page==1) {
                // 엑셀저장버튼 보여줌
                $("#excel, #print").show(); 
            } else {
                // 엑셀저장버튼 숨김
                $("#excel, #print").hide(); 
            }

            if(data.records==0) { // 검색자료 0
                popup_msg("검색된 자료가 없습니다");
            }
            // 캡션 부분에 페이지 정보 넣기.
            if(data.records>0) {
                $(".ui-jqgrid-title").text("자료수 : "+number_format(data.records)+" 개 (현재 "+data.page+" 페이지 / 총 "+data.total+" 페이지)").css("font-weight","normal");
            } else {
                $(".ui-jqgrid-title").text("검색된 자료가 없습니다.").css({"font-weight":"bold"});
            }
            
            // 그리드가 로드된후에는 체크박스가 항상 비체크이므로 체크박스 카운트를 초기화 한다.
            $("#chk_cnt").text('0');

        },
        
    });

    // Grid 하단에 기능 버튼 추가.
    $("#list2").jqGrid('navGrid','#pager2',
        { edit:false, add:false, del:true, search:false, refresh:true },
        {}, // edit
        {}, // add
        { 
            width:500, // 자료 삭제시 창 크기
            height:150
        }, // del
        {},// search
        {} //refresh

    );

    // 검색 - 초기화버튼 클릭시
    $("#reset").click(function() {
        $("#fm_search2 input, select")
            .not(':button, :submit, :reset, :hidden, :checkbox')
            .val('')
            .removeAttr('checked')
            .removeAttr('selected');
        $("#fm_search2 input[type='checkbox']").removeAttr('checked'); // 체크박스 체크해제
        Searching('reset');
        popup_msg("초기화 완료");
        
    });
    
    // 검색버튼 클릭시
    $('#btn_submit').click(function() {
        Searching(); // 검색(POST)
    });

    // 검색 - 검색어 입력후 엔터키 입력시 검색 실행
    $("#stx").keypress(function (e) {
        if (e.which == 13){
            $("#btn_submit").trigger("click");
        }
    });

    /* 달력 시작 */
    $(function(){
        $("#fd, #td, #fd10, #td10").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-10:c+10", minDate: "", maxDate: "" });
    });
    
    $(function(){
        $("#fd, #td, #fd11, #td11").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-10:c+10", minDate: "", maxDate: "" });
    });
    /* 달력 끝 */

});

// 검색 - 검색박스 POST 실행
function Searching(z) {
    $("#list2").jqGrid('clearGridData'); // 그리드를 비움
    $("#list2").jqGrid('setGridParam', { 
        mtype:"POST",
        postData : {
                bo_table:$("#bo_table").val(),
                sfl : $("#sfl").val(),
                stx : $("#stx").val(),
                fd : $("#fd").val(),
                td : $("#td").val(),
                fd10 : $("#fd10").val(),
                td10 : $("#td10").val(),
                fd11 : $("#fd11").val(),
                td11 : $("#td11").val(),
                wname : $("#wname").val(),
                w1 : function() {
                    var id = $("#fm_search2 input[name='w1[]']:checkbox:checked").map(function() {
                        return $(this).val();
                    }).get();
                    return id;
                },
                w2 : $("#w2").val(),
                w3 : $("#w3").val(),
                w4 : $("#w4").val(),
                w5 : $("#w5").val(),
                w6 : $("#w6").val(),
                w7 : $("#w7").val(),
                w8 : $("#w8").val(),
                w9 : $("#w9").val(),
                w10 : $("#w10").val(),
                w11 : $("#w11").val(),
                cn : $("#cn").val(),
        }
    });
    $('#list2').trigger("reloadGrid",
        [{current: true}]
    );
}; 

// 엑셀저장 및 PDF인쇄.
function prInt(mode) {
    var string = $("#fmSearch").serialize();
    var bo_table = $("#bo_table").val();
    switch(mode) {
        case "excel" : // 엑셀파일 저장
            location.href=board_skin_url+'/excel.php?bo_table='+bo_table+'&'+string+'&mode=excel';
            break;
        case "pdf" : // PDF 기본 인쇄
            pdf_print('pdf_print.php?bo_table='+bo_table+'&'+string); // 다양한 인쇄 약식을 위해 프린트약식 파일을 직접 지정.
            break;
    }
};

// PDF 인쇄
function pdf_print(url) {
    var file_url = board_skin_url+"/"+url;
    newWin(file_url,740,600,1,0);
}


// 글수정
function ahref(wr_id) {
    var string = $("#fmSearch").serialize();
    var bo_table = $("#bo_table").val();
    location.href="./board.php?bo_table="+bo_table+"&wr_id="+wr_id+"&"+string;
}

// 레이어 팝업 및 경고창
function popup_msg(msg) {
    $('#popup_msg').text(msg);
    $("#popup_msg").css("top",Math.max(0,(($(window).height()-$("#popup_msg").outerHeight())/2)+$(window).scrollTop())+"px");
    $("#popup_msg").css("left",Math.max(0,(($(window).width()-$("#popup_msg").outerWidth())/2) + $(window).scrollLeft())+"px");
    setTimeout(function() {
        $('#popup_msg').fadeIn(500);
        setTimeout(function() {
            $('#popup_msg').fadeOut(500);
        }, 1500);
    },150);
}

//새창.
function newWin(file,width,height,scroll,resize){
    var leftPoint = (screen.width/2)-(width/2);
    var topPoint = (screen.height/2)-(height/2);
    scroll = (scroll =='' )? 'no' : scroll;
    resize = (resize =='' )? 'no' : resize;
    window.open (file,"","scrollbars="+scroll+",resizable="+resize+",width="+width+",height="+height+",top="+topPoint+",left="+leftPoint);
}


이 질문에 댓글 쓰기 :

답변 1

질문의 요지는 

검색 결과의 합을 만드는 커리문을 쓰면 되는 거같은데 

위소스를  연고나관계가 없는 거같아 보이네요

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

회원로그인

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