/SQL/scripts/db/search.asp

http://github.com/khaneh/Orders · ASP · 256 lines · 235 code · 15 blank · 6 comment · 1 complexity · 4dd1be4cbb8768786b6d297ce17a4aa1 MD5 · raw file

  1. <!-- #INCLUDE FILE="../inc/mla_sql_include.asp" -->
  2. <%
  3. Dim myNodeId, myDbName, myObjName, myObjType, myStrTree, myStrClass
  4. Dim myObjStr, i
  5. Dim myArrCol, myColCount
  6. Dim myColStr, myWhereStr, myBoolOp
  7. myNodeId = Request.QueryString("nid")
  8. myDbName = Request.QueryString("db")
  9. myObjName = Request.QueryString("obj")
  10. myObjType = Request.QueryString("type")
  11. If Request.Form("mla_submit") <> "" Then
  12. openConnection
  13. Select Case myObjType
  14. Case "tbl" : myArrCol = getSimpleTblCol(myDbName, myObjName)
  15. Case "view" : myArrCol = getSimpleViewCol(myDbName, myObjName)
  16. End Select
  17. If isArray(myArrCol) Then myColCount = UBound(myArrCol, 2) Else myColCount = -1 End If
  18. myBoolOp = Request.Form("mla_match")
  19. myWhereStr = ""
  20. For i = 0 To myColCount
  21. If Request.Form("mla_display_" & i) <> "" Then myColStr = myColStr & "[" & rembracket(myArrCol(0, i)) & "], "
  22. If Request.Form("mla_op_" & i) <> "-1" And Request.Form("mla_op_" & i) <> "" Then
  23. If myWhereStr <> "" Then myWhereStr = myWhereStr & " " & myBoolOp
  24. If Request.Form("mla_bool_" & i) <> "-1" Then myWhereStr = myWhereStr & " " & Request.Form("mla_bool_" & i)
  25. myWhereStr = myWhereStr & " " & " ("
  26. myWhereStr = myWhereStr & "[" & rembracket(myArrCol(0, i)) & "]"
  27. If Request.Form("mla_op_" & i) <> "IS NULL" And Request.Form("mla_op_" & i) <> "IS NOT NULL" Then
  28. myWhereStr = myWhereStr & " "
  29. If myArrCol(3, i) = 1 Or myArrCol(3, i) = 2 Then
  30. Select Case Request.Form("mla_op_" & i)
  31. Case "EXACT" : myWhereStr = myWhereStr & " LIKE '" & remquote(Request.Form("mla_value_" & i)) & "'"
  32. Case "STARTS" : myWhereStr = myWhereStr & " LIKE '" & remquote(Request.Form("mla_value_" & i)) & "%'"
  33. Case "ENDS" : myWhereStr = myWhereStr & " LIKE '%" & remquote(Request.Form("mla_value_" & i)) & "'"
  34. Case "CONTAINS" : myWhereStr = myWhereStr & " LIKE '%" & remquote(Request.Form("mla_value_" & i)) & "%'"
  35. Case Else : myWhereStr = myWhereStr & " " & Request.Form("mla_op_" & i) & " '" & remquote(Request.Form("mla_value_" & i)) & "'"
  36. End Select
  37. ElseIf myArrCol(3, i) = 4 Then
  38. myWhereStr = myWhereStr & " " & Request.Form("mla_op_" & i)
  39. myWhereStr = myWhereStr & " CONVERT(DATETIME, '" & str2date(Request.Form("mla_value_" & i)) & "', 112)"
  40. If Request.Form("mla_op_" & i) = "BETWEEN" Or Request.Form("mla_op_" & i) = "NOT BETWEEN" Then
  41. myWhereStr = myWhereStr & " AND CONVERT(DATETIME, '" & str2date(Request.Form("mla_value2_" & i)) & "', 112)"
  42. End If
  43. ElseIf myArrCol(3, i) = 5 Then
  44. Select Case Request.Form("mla_op_" & i)
  45. Case "IS TRUE" : myWhereStr = myWhereStr & " = 1"
  46. Case Else : myWhereStr = myWhereStr & " = 0"
  47. End Select
  48. ElseIf myArrCol(3, i) = 6 Then
  49. myWhereStr = myWhereStr & " " & Request.Form("mla_op_" & i) & " '" & remquote(Request.Form("mla_value_" & i)) & "'"
  50. Else
  51. myWhereStr = myWhereStr & " " & Request.Form("mla_op_" & i)
  52. myWhereStr = myWhereStr & " " & Request.Form("mla_value_" & i)
  53. If Request.Form("mla_op_" & i) = "BETWEEN" Or Request.Form("mla_op_" & i) = "NOT BETWEEN" Then
  54. myWhereStr = myWhereStr & " AND " & Request.Form("mla_value2_" & i)
  55. End If
  56. End If
  57. Else
  58. myWhereStr = myWhereStr & " " & Request.Form("mla_op_" & i)
  59. End If
  60. myWhereStr = myWhereStr & ")"
  61. End If
  62. Next
  63. If myColStr <> "" Then myColStr = Left(myColStr, Len(myColStr)-2)
  64. closeConnection
  65. Response.Redirect "content.asp?nid=" & myNodeId & "&db=" & Server.URLEncode(myDbName) & "&obj=" & Server.URLEncode(myObjName) & "&type=" & Server.URLEncode(myObjType) & "&col=" & Server.URLEncode(myColStr) & "&cnd=" & Server.URLEncode(myWhereStr)
  66. Response.End
  67. End If
  68. openConnection
  69. Select Case myObjType
  70. Case "tbl" :
  71. myStrTree = getTreeStr(Mid(myNodeId, 2) & "_1_3", Array(myDbName, myObjName))
  72. myArrCol = getSimpleTblCol(myDbName, myObjName)
  73. Case "view" :
  74. myStrTree = getTreeStr(Mid(myNodeId, 2) & "_2_3", Array(myDbName, myObjName))
  75. myArrCol = getSimpleViewCol(myDbName, myObjName)
  76. End Select
  77. closeConnection
  78. If isArray(myArrCol) Then myColCount = UBound(myArrCol, 2) Else myColCount = -1 End If
  79. Dim myArrBool(0, 0)
  80. myArrBool(0, 0) = "NOT"
  81. ' Numeric
  82. Dim myArrOpNumeric(0, 9)
  83. myArrOpNumeric(0, 0) = "="
  84. myArrOpNumeric(0, 1) = "&gt;"
  85. myArrOpNumeric(0, 2) = "&lt;"
  86. myArrOpNumeric(0, 3) = "&gt;="
  87. myArrOpNumeric(0, 4) = "&lt;="
  88. myArrOpNumeric(0, 5) = "&lt;&gt;"
  89. myArrOpNumeric(0, 6) = "IS NULL"
  90. myArrOpNumeric(0, 7) = "IS NOT NULL"
  91. myArrOpNumeric(0, 8) = "BETWEEN"
  92. myArrOpNumeric(0, 9) = "NOT BETWEEN"
  93. ' Alpha
  94. Dim myArrOpAlpha(1, 6)
  95. myArrOpAlpha(0, 0) = myTObj.getTerm(430)
  96. myArrOpAlpha(1, 0) = "EXACT"
  97. myArrOpAlpha(0, 1) = myTObj.getTerm(431)
  98. myArrOpAlpha(1, 1) = "STARTS"
  99. myArrOpAlpha(0, 2) = myTObj.getTerm(438)
  100. myArrOpAlpha(1, 2) = "ENDS"
  101. myArrOpAlpha(0, 3) = myTObj.getTerm(432)
  102. myArrOpAlpha(1, 3) = "CONTAINS"
  103. myArrOpAlpha(0, 4) = "LIKE"
  104. myArrOpAlpha(1, 4) = "LIKE"
  105. myArrOpAlpha(0, 5) = "IS NULL"
  106. myArrOpAlpha(1, 5) = "IS NULL"
  107. myArrOpAlpha(0, 6) = "IS NOT NULL"
  108. myArrOpAlpha(1, 6) = "IS NOT NULL"
  109. ' Text
  110. Dim myArrOpText(1, 5)
  111. myArrOpText(0, 0) = myTObj.getTerm(431)
  112. myArrOpText(1, 0) = "STARTS"
  113. myArrOpText(0, 1) = myTObj.getTerm(438)
  114. myArrOpText(1, 1) = "ENDS"
  115. myArrOpText(0, 2) = myTObj.getTerm(432)
  116. myArrOpText(1, 2) = "CONTAINS"
  117. myArrOpText(0, 3) = "LIKE"
  118. myArrOpText(1, 3) = "LIKE"
  119. myArrOpText(0, 4) = "IS NULL"
  120. myArrOpText(1, 4) = "IS NULL"
  121. myArrOpText(0, 5) = "IS NOT NULL"
  122. myArrOpText(1, 5) = "IS NOT NULL"
  123. ' Binary
  124. Dim myArrOpBinary(0, 1)
  125. myArrOpBinary(0, 0) = "IS NULL"
  126. myArrOpBinary(0, 1) = "IS NOT NULL"
  127. ' Boolean
  128. Dim myArrOpBool(0, 3)
  129. myArrOpBool(0, 0) = "IS NULL"
  130. myArrOpBool(0, 1) = "IS NOT NULL"
  131. myArrOpBool(0, 2) = "IS TRUE"
  132. myArrOpBool(0, 3) = "IS FALSE"
  133. ' UNIQUE IDENTIFIER
  134. Dim myArrOpUId(0, 0)
  135. myArrOpUId(0, 0) = "="
  136. %>
  137. <!-- #INCLUDE FILE="../inc/metaheader.asp" -->
  138. <BODY>
  139. <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
  140. <!--
  141. function openCalendar(pURL, pFormName, pControlName) {
  142. var myURL = pURL + "?form=" + pFormName + "&elt=" + pControlName + "&initialDate=" + escape(eval("document." + pFormName + "." + pControlName).value);
  143. openPopUp(myURL, "mlc_popup", 180, 180, 10, 10);
  144. return (true);
  145. }
  146. function checkall() {
  147. var myObj;
  148. var myCheck = (!(document.mla_search.mla_display_0.checked));
  149. for (var i = 0; i <= <% = myColCount %>; i++) {
  150. myObj = eval("document.mla_search.mla_display_" + i);
  151. myObj.checked = myCheck;
  152. }
  153. return (true);
  154. }
  155. //-->
  156. </SCRIPT>
  157. <P CLASS="treeinfo"><% = myStrTree %></P>
  158. <FORM NAME="mla_search" METHOD=POST ACTION="search.asp?nid=<% = myNodeId %>&db=<% = Server.URLEncode(myDbName) %>&obj=<% = Server.URLEncode(myObjName) %>&type=<% = myObjType %>">
  159. <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 CLASS="content" SUMMARY="Search Form">
  160. <TR><TD CLASS="caption"><IMG SRC="../../themes/<% = mla_cfg_theme %>/images/action/search.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALIGN="MIDDLE" ALT="Search"> <% = myTObj.getTerm(154) %></TD></TR>
  161. <TR><TD>
  162. <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=2 ALIGN=CENTER CLASS="content" WIDTH="100%" SUMMARY="Search Form">
  163. <THEAD>
  164. <TR>
  165. <TD CLASS="collabel"><% = myTObj.getTerm(435) %></TD>
  166. <TD CLASS="collabel" COLSPAN=3><% = myTObj.getTerm(436) %></TD>
  167. <TD CLASS="collabel"><% = myTObj.getTerm(437) %> <A HREF=# onclick="return(checkall());"><IMG SRC="../../themes/<% = mla_cfg_theme %>/images/action/uncheck.gif" WIDTH="12" HEIGHT="12" BORDER=0 ALIGN="MIDDLE" ALT="Uncheck"></A></TD>
  168. </TR>
  169. </THEAD>
  170. <TBODY>
  171. <%
  172. Set myObjStr = New mlt_string
  173. For i = 0 To myColCount
  174. If i MOD 2 = 0 Then myStrClass = "odd" Else myStrClass = "even" End If
  175. myObjStr.strAppend "<TR CLASS=""" & myStrClass & """>" & vbCrLf
  176. myObjStr.strAppend "<TD CLASS=""formlabel"">" & myArrCol(0, i) & "</TD>"
  177. Select Case myArrCol(3, i)
  178. Case 1 : ' Alpha
  179. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_bool_" & i, myArrBool, 0, 0, " ", "", "", "") & "</TD>"
  180. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpAlpha, 1, 0, " ", "", "alphanumeric", "") & "</TD>"
  181. myObjStr.strAppend "<TD CLASS=""forminfo""><INPUT TYPE=""text"" NAME=""mla_value_" & i & """ CLASS=""alpha_edit""></TD>"
  182. Case 2 : ' Text
  183. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_bool_" & i, myArrBool, 0, 0, " ", "", "", "") & "</TD>"
  184. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpText, 1, 0, " ", "", "alphanumeric", "") & "</TD>"
  185. myObjStr.strAppend "<TD CLASS=""forminfo""><INPUT TYPE=""text"" NAME=""mla_value_" & i & """ CLASS=""alpha_edit""></TD>"
  186. Case 3 : ' Binary
  187. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  188. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpBinary, 0, 0, " ", "", "alphanumeric", "") & "</TD>"
  189. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  190. Case 4 : ' Date
  191. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  192. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpNumeric, 0, 0, " ", "", "alphanumeric", "") & "</TD>"
  193. myObjStr.strAppend "<TD CLASS=""forminfo""><INPUT TYPE=""text"" NAME=""mla_value_" & i & """ CLASS=""num_edit"">"
  194. myObjStr.strAppend "<A HREF=# onclick=""openCalendar('mlc_popup.asp', 'mla_search', 'mla_value_" & i & "'); return false;""><IMG SRC=""../../themes/" & mla_cfg_theme & "/images/action/calendar.gif"" WIDTH=""16"" HEIGHT=""16"" BORDER=0 ALIGN=""MIDDLE"" ALT=""Calendar""></A>"
  195. myObjStr.strAppend " <B>AND</B> "
  196. myObjStr.strAppend "<INPUT TYPE=""text"" NAME=""mla_value2_" & i & """ CLASS=""num_edit"">"
  197. myObjStr.strAppend "<A HREF=# onclick=""openCalendar('mlc_popup.asp', 'mla_search', 'mla_value2_" & i & "'); return false;""><IMG SRC=""../../themes/" & mla_cfg_theme & "/images/action/calendar.gif"" WIDTH=""16"" HEIGHT=""16"" BORDER=0 ALIGN=""MIDDLE"" ALT=""Calendar""></A>"
  198. myObjStr.strAppend "</TD>"
  199. Case 5 : ' Boolean
  200. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  201. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpBool, 0, 0, " ", "", "alphanumeric", "") & "</TD>"
  202. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  203. Case 6 : ' Unique Identifier
  204. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  205. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpUId, 0, 0, " ", "", "alphanumeric", "") & "</TD>"
  206. myObjStr.strAppend "<TD CLASS=""forminfo""><INPUT TYPE=""text"" NAME=""mla_value_" & i & """ CLASS=""alpha_edit""></TD>"
  207. Case Else : ' numeric
  208. myObjStr.strAppend "<TD CLASS=""forminfo"">&nbsp;</TD>"
  209. myObjStr.strAppend "<TD CLASS=""forminfo"">" & getListBox("mla_op_" & i, myArrOpNumeric, 0, 0, " ", "", "alphanumeric", "") & "</TD>"
  210. myObjStr.strAppend "<TD CLASS=""forminfo""><INPUT TYPE=""text"" NAME=""mla_value_" & i & """ CLASS=""num_edit"">"
  211. myObjStr.strAppend " <B>AND</B> "
  212. myObjStr.strAppend "<INPUT TYPE=""text"" NAME=""mla_value2_" & i & """ CLASS=""num_edit""></TD>"
  213. End Select
  214. myObjStr.strAppend "<TD CLASS=""forminfo""><INPUT TYPE=""checkbox"" NAME=""mla_display_" & i & """ CHECKED></TD>"
  215. myObjStr.strAppend "</TR>" & vbCrLf
  216. Next
  217. Response.Write myObjStr.getStr()
  218. Set myObjStr = Nothing
  219. %>
  220. </TBODY>
  221. </TABLE>
  222. </TD></TR>
  223. <TR><TD>&nbsp;</TD></TR>
  224. <TR>
  225. <TD ALIGN=CENTER>
  226. <INPUT TYPE="radio" NAME="mla_match" VALUE="AND" ID="all" CHECKED><LABEL FOR="all"><% = myTObj.getTerm(433) %></LABEL>
  227. &nbsp;
  228. <INPUT TYPE="radio" NAME="mla_match" VALUE="OR" ID="any"><LABEL FOR="any"><% = myTObj.getTerm(434) %></LABEL>
  229. </TD>
  230. </TR>
  231. <TR>
  232. <TD ALIGN=CENTER>
  233. <INPUT TYPE="reset" VALUE="<% = myTObj.getTerm(50) %>" NAME="mla_reset"> &nbsp;
  234. <INPUT TYPE="submit" VALUE="<% = myTObj.getTerm(54) %>" NAME="mla_submit">
  235. </TD>
  236. </TR>
  237. </TABLE>
  238. </FORM>
  239. </BODY>
  240. </HTML>
  241. <!-- #INCLUDE FILE="../inc/mla_sql_end.asp" -->