JHk1821
JHk1821

Reputation: 144

Getting multiple checkbox results in Database (JSP PAGE)

I need to make user give some data to the first page like (City, country, URL of country) and I need from him to select what kind of destination is:

Winter, Christmas, Summer (he can check max 2)

How can I connect the results of this with my database?

I have created 3 tables

  1. with columns nodest (pk), city, country, url
  2. nodest_c (pk), category
  3. nodest (fk --> nodest), nodest_c (fk --> nodest_c)

Create dest code . jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>create dest</title>
    </head>
    <body>
        <html>
    <head>
        <title>CREATE DESTINATION</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1> CREATING DESTINATION </h1>
        <form name="createdest" method="get" action="create dest code.jsp">
        Country: <input type="text"  required  name="id8" /> <br>
        City: <input type="text"  required  name="id9" /> <br>
        URL Video: <input type="url"  required  name="id10" /> <br> <br>
        <i><ins>Categorize the destination (max 2): </ins></i>  <br> <br>
        <input type="checkbox" name="id5" value="1" onClick="return KeepCount()" >Christmas<br>
        <input type="checkbox" name="id6" value="2" onClick="return KeepCount()" >Winter <br>
        <input type="checkbox" name="id7" value="3" onClick="return KeepCount()" >Summer <br> <br>

        <input type="submit" value="CREATE DESTINATION" /> 


        <br>


        </form>
       <SCRIPT LANGUAGE="javascript">

function KeepCount() {

var NewCount = 0

if (document.createdest.id5.checked)
{NewCount = NewCount + 1}

if (document.createdest.id6.checked)
{NewCount = NewCount + 1}

if (document.createdest.id7.checked)
{NewCount = NewCount + 1}

if (NewCount == 3)
{
alert('Pick Just Two Please')
document.createdest; return false;
}
} 
</SCRIPT>


    </body>
</html>

insert database .jsp

<%@page import="java.sql.*" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>create dest code</title>
    </head>
    <body>
         <%
    int m[] = new int[5000]; String s[] = new String[5000];        
   Class.forName("com.mysql.jdbc.Driver"); 
   String myDatabase = "jdbc:mysql://localhost:3306/project_app?user=root&password=1234"; 
   Connection myConnection = DriverManager.getConnection(myDatabase);
   Statement myStatement = myConnection.createStatement();  
   boolean check=null!=request.getParameter("id5");
   boolean check1=null!=request.getParameter("id6");
   boolean check2=null!=request.getParameter("id7");
   String id8=request.getParameter("id8");
   String id9=request.getParameter("id9");
   String id10=request.getParameter("id10");
   String sqlString = "INSERT INTO DEST(COUNTRY,CITY,URL) VALUES ('"+id8+"', '"+id9+"','"+id10+"')";
   myStatement.executeUpdate(sqlString);
    myStatement.executeUpdate(sqlString1);
   myStatement.close(); 
   myConnection.close(); %>
    </body>
    <h1 style="color:blue;">Successful Registration </h1>
</html>

any suggestions?

Upvotes: 0

Views: 3010

Answers (1)

Shirin Safaeian
Shirin Safaeian

Reputation: 960

in your servlet use this code:

String checked = request.getParameterValue("checkboxName");

and if checked is null, this means your checkbox was not checked.

Also if you want to use checkbox groups,put some checkboxes with the same name and use this:

String[] checkedValues = request.getParameterValues("checkboxName");

And then all checkbox values that is checked will be added to checkedValue variable.

boolean check = null != request.getParameter("id5");
boolean check1 = null != request.getParameter("id6");
boolean check2 = null != request.getParameter("id7");

and based on which data type you are using in your database for check columns, you can use these boolean values.

Upvotes: 1

Related Questions