Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try {
- Connection conn = DatabaseHelper.getConnection();
- /* Voer de query uit */
- if(conn != null) {
- /* Definieer de te gebruiken strings */
- String voorstellingen = null;
- String discipline = null;
- String leerlingen = null;
- String groep = null;
- /* Bepaal welke zoekmethode wordt gebruikt en vul de strings */
- if(request.getParameter("typeZoekopdracht") != null && request.getParameter("typeZoekopdracht").equals("normaal")) {
- String zoekresultaat = request.getParameter("WatWilIk[]");
- Dissector dissector = new Dissector();
- HashMap<String, String> dissected = dissector.dissect(zoekresultaat);
- HashMap<String, String> revdissected = new HashMap<String, String>();
- System.out.println(Arrays.toString(dissected.keySet().toArray()));
- for(String key : dissected.keySet()){
- revdissected.put(dissected.get(key), key);
- System.out.println(key + " => " + dissected.get(key));
- }
- System.out.println(Arrays.toString(revdissected.keySet().toArray()));
- try {
- if(revdissected.get("WHAT") != null)
- voorstellingen = Dissector.trim(revdissected.get("WHAT"));
- if(revdissected.get("DISCIPLINE") != null)
- discipline = Dissector.trim(revdissected.get("DISCIPLINE"));
- if(revdissected.get("AMOUNT") != null)
- leerlingen = Dissector.trim(revdissected.get("AMOUNT"));
- if(revdissected.get("dezedissectjeniet:-()") != null)
- groep = Dissector.trim(revdissected.get("dezedissectjeniet:-()"));
- }
- catch(Exception e) {
- System.out.println("Exception: " + e.toString());
- System.out.println(e.getMessage());
- }
- }
- else {
- voorstellingen = request.getParameter("voorstellingen");
- discipline = request.getParameter("discipline");
- leerlingen = request.getParameter("leerlingen");
- groep = request.getParameter("groep");
- }
- /* Definieer de vervolgbooleans voor de query */
- boolean voorstellingQ = false;
- boolean disciplineQ = false;
- boolean leerlingenQ = false;
- /* Bouw de query op */
- String opbouwQuery = "SELECT aanbodid, titel, foto FROM aanbod a WHERE";
- int inc = 0;
- /* Bekijk of een voorstelling is ingevoerd */
- if(voorstellingen != null){
- opbouwQuery += " titel LIKE ?";
- voorstellingQ = true;
- inc++;
- }
- /* Bekijk of een discipline is ingevoerd */
- if(discipline != null && !discipline.equals("-1")){
- if(voorstellingQ) {
- opbouwQuery += " AND ";
- }
- opbouwQuery += " EXISTS (SELECT * FROM \"behoortTot\" b WHERE a.aanbodid = b.aanbodid AND disciplineid = ?)";
- disciplineQ = true;
- inc++;
- }
- /* Bekijk of een aantal leerlingen is ingevoerd */
- if(leerlingen != null){
- if(voorstellingQ || disciplineQ) {
- opbouwQuery += " AND ";
- }
- opbouwQuery += " deelname BETWEEN ? AND ?";
- leerlingenQ = true;
- inc++;
- inc++;
- }
- /* Bekijk of een groep is ingevoerd */
- if(groep != null && !groep.equals("-1")) {
- if(voorstellingQ || leerlingenQ || disciplineQ) {
- opbouwQuery += " AND ";
- }
- opbouwQuery += " EXISTS (SELECT * FROM groepvoorstelling WHERE voorstelling = aanbodid AND groepid = ?)";
- inc++;
- }
- System.out.println(opbouwQuery);
- PreparedStatement ps = conn.prepareStatement(opbouwQuery);
- int incmax = inc;
- if(voorstellingen != null){
- ps.setString((incmax-inc+1),"%" + voorstellingen + "%");
- inc--;
- }
- if(discipline != null && !discipline.equals("-1")){
- PreparedStatement psd = conn.prepareStatement("SELECT * FROM discipline WHERE discipline LIKE ?");
- psd.setString(1, "%"+discipline+"%");
- ResultSet rsd = psd.executeQuery();
- ps.setInt(incmax-inc+1,0);
- while(rsd.next()) {
- ps.setInt(incmax-inc+1,rsd.getInt("id"));
- }
- rsd.close();
- psd.close();
- inc--;
- }
- if(leerlingen != null){
- try {
- ps.setInt(incmax-inc+1,new Integer(leerlingen));
- inc--;
- ps.setInt(incmax-inc+1,new Integer(leerlingen)+200);
- inc--;
- }
- catch(NumberFormatException e) {
- ps.setInt(incmax-inc+1,0);
- inc--;
- ps.setInt(incmax-inc+1,+2000);
- inc--;
- }
- }
- if(groep != null && !groep.equals("-1")) {
- ps.setInt(incmax-inc+1,new Integer(groep));
- inc--;
- }
- System.out.println("Deze query wordt uitgevoerd: " + ps);
- ResultSet rs = ps.executeQuery();
- while(rs.next()){
- String foto = rs.getString("foto");
- String id = rs.getString("aanbodid");
- out.write("<div class=\"col-md-3 mix category-2\" style=\"display: inline-block;\"><a href=\"activiteit.jsp?voorstellingid=" + id + "\">"
- + "<img class=\"top10\" src=" + foto + " width=\"100%\">"
- + " </a> </div>");
- }
- conn.close();
- ps.close();
- rs.close();
- }
- }
- catch(Exception e) {
- out.println(e.toString() + e.getMessage());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement