% ' ---------------------------------------------------------------------------------------------------- ' ## 공통변수 및 사용자정의변수 정의 ' ---------------------------------------------------------------------------------------------------- ' DB 관련 변수 Dim dbConn, rs, rs2, var_SQL,var_SQL2, var_AddSQL, var_AddSQL2, i, j Dim paramInfo, paramInfos Dim var_strTables, var_strFilter, var_strSort, var_strGroup, var_strFields, var_PrimaryKey ' Page 관련 변수 Dim var_BlockSize, var_Page, var_TotalPage, var_PageSize, var_RowCount, var_TotalRecord, var_number Dim strPaging ' 검색 관련 변수 Dim search_field, search_keyword, arrkeyword Dim search_division, search_category, search_view_yn, search_language_type ' 파라미터 변수 Dim var_Num ' 컬럼변수 Dim col_board_seq, col_division, col_category, col_subject, col_content Dim col_hit, col_notice_yn, col_view_yn, col_user_name, col_password Dim col_delegate_img_path, col_delegate_img_file, col_delegate_img_save Dim col_register_ip, col_del_yn, col_language_type, col_reg_date Dim col_etc_1, col_etc_2, col_etc_3, col_etc_4, col_etc_5 Dim col_etc_6, col_etc_7, col_etc_8, col_etc_9, col_etc_10 Dim col_file_count Dim col_file_seq, col_file_path, col_file_name, col_file_save, col_file_size, col_down_count ' 기타 변수 Dim arrCategory, nCategorySize Dim imgSize, img_width, img_height Dim arrCategoryCount(10) ' 디버그 모드 'Call clsDB.SetDebugMode(True) ' ---------------------------------------------------------------------------------------------------- ' ## 페이지 검증 ' ---------------------------------------------------------------------------------------------------- ' ---------------------------------------------------------------------------------------------------- ' ## Receive Parameters ' ---------------------------------------------------------------------------------------------------- search_category = clsFN.GetParameter(Request("search_category"), "") search_view_yn = "Y" search_division = BOARD_DIVISION search_language_type = BOARD_LANGUAGE var_Num = clsFN.GetParameter(Request("num"), "") ' ---------------------------------------------------------------------------------------------------- ' ## 필수 입력 항목 체크 ' ---------------------------------------------------------------------------------------------------- ' #################################################################################################### ' ## 최신글 ' #################################################################################################### if var_Num <> "" Then var_SQL = "SELECT " var_SQL = var_SQL & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_SQL = var_SQL & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_SQL = var_SQL & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_SQL = var_SQL & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_SQL = var_SQL & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_SQL = var_SQL & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.BOARD_SEQ = ? " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("@BOARD_SEQ", adInteger, adParamInput, 0, var_Num) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) Else var_SQL = "SELECT TOP 1 " var_SQL = var_SQL & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_SQL = var_SQL & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_SQL = var_SQL & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_SQL = var_SQL & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_SQL = var_SQL & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_SQL = var_SQL & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = '"& BOARD_DIVISION &"' " If search_category <> "" Then var_SQL = var_SQL & " AND A.CATEGORY = ? " var_SQL = var_SQL & " ORDER BY A.BOARD_SEQ DESC " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("CATEGORY", adVarChar, adParamInput, 255, search_category) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) Else var_SQL = var_SQL & " ORDER BY A.BOARD_SEQ DESC " Set rs = clsDB.ExecSQLReturnRS(var_SQL, Nothing, Nothing) End If End If If Not rs.EOF Then col_board_seq = Trim(rs("BOARD_SEQ")) col_division = Trim(rs("DIVISION")) col_category = Trim(rs("CATEGORY")) col_subject = Trim(rs("SUBJECT")) col_content = Trim(rs("CONTENT")) col_hit = Trim(rs("HIT")) col_notice_yn = Trim(rs("NOTICE_YN")) col_view_yn = Trim(rs("VIEW_YN")) col_user_name = Trim(rs("USER_NAME")) col_password = Trim(rs("PASSWORD")) col_delegate_img_path = Trim(rs("DELEGATE_IMG_PATH")) col_delegate_img_file = Trim(rs("DELEGATE_IMG_FILE")) col_delegate_img_save = Trim(rs("DELEGATE_IMG_SAVE")) col_register_ip = Trim(rs("REGISTER_IP")) col_del_yn = Trim(rs("DEL_YN")) col_language_type = Trim(rs("LANGUAGE_TYPE")) col_reg_date = Trim(rs("REG_DATE")) col_etc_1 = Trim(rs("ETC_1")) col_etc_2 = Trim(rs("ETC_2")) col_etc_3 = Trim(rs("ETC_3")) col_etc_4 = Trim(rs("ETC_4")) col_etc_5 = Trim(rs("ETC_5")) col_etc_6 = Trim(rs("ETC_6")) col_etc_7 = Trim(rs("ETC_7")) col_etc_8 = Trim(rs("ETC_8")) col_etc_9 = Trim(rs("ETC_9")) col_etc_10 = Trim(rs("ETC_10")) Else ' Call clsFN.JsAlertLocation(FRONTROOT, DB_001) End If clsDB.closeRS(rs) ' #################################################################################################### ' ## 분류 정보 ' #################################################################################################### var_SQL = "SELECT " var_SQL = var_SQL & " (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC') AS CATEGORY_0 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 1) AS CATEGORY_1 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 2) AS CATEGORY_2 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 3) AS CATEGORY_3 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 4) AS CATEGORY_4 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 5) AS CATEGORY_5 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 6) AS CATEGORY_6 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 7) AS CATEGORY_7 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 8) AS CATEGORY_8 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 9) AS CATEGORY_9 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 10) AS CATEGORY_10 " Set rs = clsDB.ExecSQLReturnRS(var_SQL, Nothing, Nothing) If Not rs.EOF Then arrCategoryCount(0) = Trim(rs("CATEGORY_0")) arrCategoryCount(1) = Trim(rs("CATEGORY_1")) arrCategoryCount(2) = Trim(rs("CATEGORY_2")) arrCategoryCount(3) = Trim(rs("CATEGORY_3")) arrCategoryCount(4) = Trim(rs("CATEGORY_4")) arrCategoryCount(5) = Trim(rs("CATEGORY_5")) arrCategoryCount(6) = Trim(rs("CATEGORY_6")) arrCategoryCount(7) = Trim(rs("CATEGORY_7")) arrCategoryCount(8) = Trim(rs("CATEGORY_8")) arrCategoryCount(9) = Trim(rs("CATEGORY_9")) arrCategoryCount(10) = Trim(rs("CATEGORY_10")) Else ' Call clsFN.JsAlertLocation(FRONTROOT, DB_001) End If clsDB.closeRS(rs) ' #################################################################################################### ' ## 게시판 정보 ' #################################################################################################### ' 검색 조건 var_AddSQL = " A.DEL_YN= 'N' AND A.NOTICE_YN= 'N' AND A.DIVISION = '"& clsFN.convSql(search_division) &"' " If search_language_type <> "" Then var_AddSQL = var_AddSQL & " AND A.LANGUAGE_TYPE = '" & clsFN.convSql(search_language_type) & "' " End If If search_category <> "" Then var_AddSQL = var_AddSQL & " AND A.CATEGORY = '" & clsFN.convSql(search_category) & "' " End If If search_view_yn <> "" Then var_AddSQL = var_AddSQL & " AND A.VIEW_YN = '" & clsFN.convSql(search_view_yn) & "' " End If If search_keyword <> "" And search_field <> "" Then If Instr(search_keyword, " ") > 0 Then arrkeyword = Split(search_keyword, " ") For Each item In arrkeyword If search_field = "all" Then var_AddSQL2 = var_AddSQL2 & " OR ( A.SUBJECT LIKE N'%" & clsFN.convSql(item) & "%' OR A.CONTENT LIKE N'%" & clsFN.convSql(item) & "%' ) " Else var_AddSQL2 = var_AddSQL2 & " OR " & clsFN.convSql(search_field) &" LIKE N'%" & clsFN.convSql(item) & "%' " End If Next var_AddSQL = var_AddSQL & " AND (" & Mid(var_AddSQL2, 4, Len(var_AddSQL2)) & ") " Else If search_field = "all" Then var_AddSQL = var_AddSQL & " AND ( A.SUBJECT LIKE N'%" & clsFN.convSql(search_keyword) & "%' OR A.CONTENT LIKE N'%" & clsFN.convSql(search_keyword) & "%' ) " Else var_AddSQL = var_AddSQL & " AND " & clsFN.convSql(search_field) &" LIKE N'%" & clsFN.convSql(search_keyword) & "%' " End If End If End If ' 게시판 기본 변수 var_PageSize = 5 var_BlockSize = 10 ' 매개변수 var_strTables = BOARD_TABLENAME & " A WITH(NOLOCK) " var_strFilter = var_AddSQL var_strSort = "A.BOARD_SEQ DESC" var_strGroup = "" var_strFields = "" var_strFields = var_strFields & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_strFields = var_strFields & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_strFields = var_strFields & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_strFields = var_strFields & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_strFields = var_strFields & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_strFields = var_strFields & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_strFields = var_strFields & " , ( SELECT COUNT(FILE_SEQ) FROM "& BOARD_TABLENAME &"_FILE B WHERE A.BOARD_SEQ = B.BOARD_SEQ) AS FILE_COUNT " var_PrimaryKey = "A.BOARD_SEQ" ReDim paramInfo(2) paramInfo(0) = clsDB.MakeParam("@strActType", adChar, adParamInput, 6, "CNTING") paramInfo(1) = clsDB.MakeParam("@strTables", adVarChar , adParamInput, 2000, var_strTables) paramInfo(2) = clsDB.MakeParam("@strFilter", adWChar , adParamInput, 2000, var_strFilter) ' 총 레코드 수 / 현재 글번호 Set rs = clsDB.ExecSPReturnRS("SP_GET_TARGET_PAGING", paramInfo, Nothing) var_TotalRecord = Trim(rs("RECORDCOUNT")) var_number = var_TotalRecord - (var_PageSize * (var_Page-1)) clsDB.closeRS(rs) ' 총 페이지 수 If var_TotalRecord Mod var_PageSize = 0 Then var_TotalPage = var_TotalRecord \ var_PageSize Else var_TotalPage = var_TotalRecord \ var_PageSize + 1 End If ' 페이징 'Dim var_aryReqParams(1,2) 'var_aryReqParams(1, 1) = "search_division" 'var_aryReqParams(1, 2) = search_division 'var_aryReqParams(2, 1) = "search_category" 'var_aryReqParams(2, 2) = search_category 'var_aryReqParams(3, 1) = "search_view_yn" 'var_aryReqParams(3, 2) = search_view_yn PrintNavTargetLink("board_list.asp") PrintNavTargetImagePath(FRONTROOT) 'var_Page = PageProcessing(var_Page, var_TotalPage, var_PageSize, var_BlockSize, var_aryReqParams) var_Page = PageProcessing(var_Page, var_TotalPage, var_PageSize, var_BlockSize, NULL) strPaging = PrintNavUserOneLineButton() %>