多条件查询数据库,将查询结果返回页面(ajax/servlet)

多条件查询数据库,将查询结果返回页面(ajax/servlet)

  • SearchReportServlet
package SERVLET;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.taglibs.standard.lang.jstl.AndOperator;
import org.json.JSONException;
import org.json.JSONObject;

import DAO.DesignReportDAO;

public class SearchReportServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}


	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		request.setCharacterEncoding("utf-8");
	    
		HttpSession session = request.getSession();
		
		String name=request.getParameter("name");
		String enterprise_code=request.getParameter("enterprise_code");
		String elevator_type=request.getParameter("elevator_type");
		String date1=request.getParameter("date1");
		String date2=request.getParameter("date2");
		
	    DesignReportDAO dao=new DesignReportDAO();
	    ArrayList<JSONObject> array = null;
	    	try {
	    		//获取数据库数据
				array = dao.select_part_reports(name, enterprise_code, elevator_type, date1, date2);
				System.out.println(array);
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			     response.setContentType("text/html;charset=utf-8");
			     PrintWriter pw = response.getWriter();	
			     pw.print(array.toString());   

	}
}
  • DesignReportDAO
package DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import org.json.JSONException;
import org.json.JSONObject;
public class DesignReportDAO extends DataSourceConfig {
		private static String SELECT_ALL_Design_Report = "SELECT * FROM design_report_view";
		private Connection conn = null;
		private Statement statement = null;
		
		//按条件查询设计报告
		public ArrayList<JSONObject> select_part_reports(String name, String enterprise_code, String elevator_type, String date1, String date2) throws JSONException
		{
			if (name == "") {
				name = "name";
			} else {
				name = "'" + name + "'";
			} //如果是空集则搜索全部,不是空集则为字符加上''
			
			if (enterprise_code == "") {
				enterprise_code = "enterprise_code";
			} else {
				enterprise_code = "'" + enterprise_code + "'";
			} //如果是空集则搜索全部,不是空集则为字符加上''

			if (elevator_type == "") {
				elevator_type = "elevator_type";
			} else {
				elevator_type = "'" + elevator_type + "'";
			}

			if (date1 == "") {
				date1 = "'2000-01-01'";
			} else {
				date1 = "'" + date1 + "'";
			}
			if (date2 == "") {
				date2 = "'2035-01-01'";
			} else {
				date2 = "'" + date2 + "'";
			}
			System.out.println(name);
			System.out.println(name.getClass().toString());
			System.out.println(enterprise_code);
			
			String Search_Design_Report = "select * from design_report_view where design_date >= " + date1 + " and design_date <="
					+ date2 + " and enterprise_code=" + enterprise_code + " and elevator_type=" + elevator_type + " and name=" + name;
			
			System.out.println(Search_Design_Report);
			try{
				conn = super.getConnection();
				statement = conn.createStatement();
				rst = statement.executeQuery(Search_Design_Report);
				
				
				ArrayList<JSONObject> array = new ArrayList<JSONObject>();
				while(rst.next())
				{
					JSONObject bean = new JSONObject();
					bean.put("elevator_no", rst.getString("elevator_no"));
					bean.put("elevator_name", rst.getString("elevator_name"));
					bean.put("design_person", rst.getString("design_person"));
					bean.put("enterprise_code", rst.getString("enterprise_code"));
					bean.put("name", rst.getString("name"));
					bean.put("elevator_type", rst.getString("elevator_type"));
					bean.put("design_date", rst.getString("design_date"));
					bean.put("design_result", rst.getString("design_result"));
					
					array.add(bean);
				}
				statement.close();
				rst.close();
				return array;
			}catch(SQLException e){
				System.out.println("Error occured at DesignReportDAO->select_part_reports()");
				return new ArrayList<JSONObject>();
			}finally{
				try{
					conn.close();
				}catch(SQLException e){
					System.out.println("Error occured at closing connection in DesignReportDAO");
				}
			}
		}
		
}

  • html页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>all of the reports</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script src="js/jquery.min.js"> </script>	
   <script src="js/bootstrap-paginator.js"></script> 
   <script src="js/bootstrap.min.js"></script> 
   
   <link href="css/style.css" rel='stylesheet' type='text/css' />


</head>

<body align=center>
   <div>
   		<table id="searchtable" class="table"
   			style="width:100%;margin: 0px auto;align:center;">

   			<tr>
   			<td align="center">企业名称:<input type="text" id="name" name="name" style="width:30%"></td>
   				<td align="center">企业代码:<input type="text" id="enterprise_code" name="enterprise_code" style="width:30%"></td>
   				<td align="center">电梯类型:<select id="elevator_type" name="elevator_type" style="width:40%" >
   							 <option value="">-请选择-</option>
   							 <option value="乘客电梯(住宅)">乘客电梯(住宅)</option>
   							 <option value="自动扶梯">自动扶梯</option>
   							 
   				</select>
   				</td>
   				<td align="center">设计时间:<input id="date1" type="text" name="date1" style="width:30%" placeholder="示例: 2019-9-13"> 至 <input
   					type="text" id="date2" name="date2" style="width:25%" placeholder=" 2019-10-1"></td>
   				<td align="center"><button id="search_report" onkeyup='searchPORT()' style="height:30px;width:60px;" type="button">搜索</button></td>

   			</tr>
   		</table>
   </div>
   <div style="position:relative;top:50px">

   	<table id="mytable" class="table" border="1"
   		style="width:90%;margin: 0px auto;">

   		<thead>
   			<tr>
   				<th colspan="11" style="text-align: center;"><font size="4px"
   					color="black">设计报告管理</font></th>
   			</tr>
   			<tr style="font-size:15px">
   				<th style="text-align: center;">电梯编号</th>
   				<th style="text-align: center;">产品名称</th>

   				<th style="text-align: center;">电梯类型</th>
   				<th style="text-align: center;">设计单位名称</th>
   				<th style="text-align: center;">设计单位代码</th>
   				<th style="text-align: center;">设计人员姓名</th>
   				<th style="text-align: center;">设计时间</th>
   				<th style="text-align:center;">附件</th>
   				
   			</tr>
   		</thead>
   		<tbody id="tbody">
   	
   		</tbody>
   	</table>
   </div>

   
   <script>
     $("#search_report").click(function(){
          var name=$("#name").val();
          var enterprise_code=$("#enterprise_code").val();
          var elevator_type=$("#elevator_type").val();
          var date1=$("#date1").val();
          var date2=$("#date2").val();
               $.ajax({
   		              type : 'post',
   		              async : true,
   		              url : 'SearchReportServlet.do',
   			          data : {
   						"name" :name,
   						"enterprise_code":enterprise_code,
   						"elevator_type":elevator_type,
   						"date1":date1,
   						"date2":date2
   						
   			          },
   		              dataType : 'json',
   		              success : function(msg) {
   		                 console.log(msg);
   		              $("#data").text(data.length);
   						$("#tbody").empty();
   			            var str="";
   			            for(var j=0;j<msg.length;j++){
   			              str+="<tr><td align='center'>" + msg[j].elevator_no + "</td><td align='center'>" + msg[j].elevator_name
   					         + "</td><td align='center'>" + msg[j].elevator_type + "</td><td align='center'>" + msg[j].name
   					         + "</td><td align='center'>" + msg[j].enterprise_code + "</td><td align='center'>" + msg[j].design_person
   					         + "</td><td align='center'>" + msg[j].design_date + "</td><td align='center'><a href='http://localhost:8080/ZDZX_DT/Report.jsp?zdftno="
   					                  + msg[j].elevator_no + "' target='_blank'>查看 </a></td></tr>";
   			            }
   		                $("#tbody").show().append(str);//插入节点中 
   		              },
   			           error : function() {
   				         alert("无法与数据库取得连接!!!2222");
   			          }
               });    
     });
   </script>
</body>
</html>
  • 最终结果
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41104835/article/details/100554136