검색시 결과값 불러오기
본문
게시판을 스킨을 사용하여 업무기록같이 사용하고 있습니다.
게시물을 검색시 나오는 목록에서 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);
}
답변을 작성하시기 전에 로그인 해주세요.