/ / Come inserire più valori delle caselle di controllo nella colonna singola un valore nella riga singola nel database usando jsp - mysql, jsp, servlet

Come inserire più valori di caselle di controllo in una colonna di un valore in una singola riga nel database utilizzando jsp - mysql, jsp, servlet

Voglio memorizzare più valori delle caselle di controllo nel database usando JSP in una singola colonna del database ma un singolo valore in una singola riga. Il mio codice JSP QuickFunction.jsp:

    <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2 align="center"> Quick Function</h2>

<form action="QuickServlet">
<table border="1" align="center">
<tr><td width=50 align="center">1</td>
<td>Book A voucher</td>
<td>Sales Voucher</td>
<td><input type="checkbox" name="voucher"
value="Sales Voucher" /></td>

</tr>
<tr><td></td><td></td>
<td>Purchase Voucher</td>
<td><input type="checkbox" name="voucher"
value="Purchase Voucher" /></td>

</tr>
<tr><td></td><td></td>
<td>Receipt</td>
<td><input type="checkbox" name="voucher"
value="Receipt" /></td>

</tr>
<tr><td></td><td></td>
<td>Payment </td>
<td><input type="checkbox" name="voucher"
value="Payment" /></td>

</tr>
<tr>
<td></td><td></td><td> Contra </td>
<td><input type="checkbox" name="voucher"
value="Contra" /></td>

</tr>
<tr><td></td><td></td>
<td> Journal </td>
<td><input type="checkbox" name="voucher"
value="Journal"></td>

</tr>
</table>
<input type="submit" value="Submit"/>
</form>
</body>
</html>

Il mio codice servlet QuickServlet (metodo doGet):

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

PrintWriter out = response.getWriter();
String voucher = "";
String a[]=request.getParameterValues("voucher");
for(int i=0;i<a.length;i++){
voucher+=a[i]+"";
}

DBConnection dbc=new DBConnection();
Connection con=dbc.getNewConnection();

Statement st = null;
ResultSet rs = null;
try
{
st = con.createStatement();
}
catch (SQLException e)
{
e.printStackTrace();
}

String updatecust = "insert into vouchers(voucher) values(""+voucher+"");";
try
{

int i=st.executeUpdate(updatecust);

if(i>0){
out.print(" saved successfully....!!");
}
else
out.print("Sorry..!! Got an exception.");
}
catch (SQLException e)
{
e.printStackTrace();
}

}

Memorizza i valori delle caselle di controllo in una singola colonna in una riga come di seguito:

mysql> select * from vouchers;
+--------------------------------------+
| voucher                              |
+--------------------------------------+
| Sales VoucherPurchase VoucherReceipt |
+--------------------------------------+

Ma voglio memorizzare un valore in una riga e così via. Come sotto (output previsto):

mysql> select * from vouchers;
+------------------+
| voucher          |
+------------------+
| Sales Voucher    |
| Purchase Voucher |
| Receipt          |
+------------------+

Mi aiuti per favore. Grazie in anticipo!!

risposte:

0 per risposta № 1

Nel tuo codice, prima concatenare tutto il voucher utilizzando il ciclo for e quindi inserendolo.

Se si desidera che ogni voucher sia inserito nella riga saggia, invece di concatenare il voucher in per loop, si chiama inserire query con in per loop e inserire voucher.

Come questo:

   for(int i=0;i<a.length;i++){
String updatecust = "insert into vouchers(voucher) values(""+voucher+"");";
}

0 per risposta № 2

Funzionerà solo verificando con la creazione di una piccola tabella (multicheck) di due campi (id, voucher).

<?php include("config.php"); ?>

<?php
$voucher= $_POST["voucher"];

if($_POST["Submit"]=="Submit"){
for($i=0;$i<sizeof($voucher);$i++){
$statement = $db->prepare("INSERT INTO multicheck (voucher) VALUES (?)");
$statement->execute(array($voucher[$i]));
}
}
?>

Ecco la forma:

<form action="actionform.php" method="POST">
<input type="checkbox" value="Sales Voucher" name="voucher[]">Sales Voucher<br />
<input type="checkbox" value="Receipt" name="voucher[]">Receipt<br />
<input type="checkbox" value="Contra" name="voucher[]">Contra<br />
<input type="checkbox" value="Journal" name="voucher[]">Journal<br />
<input type="submit" name="Submit" value="Submit">
</form>