/ / Wie man mehrere Checkbox-Werte in einzelne Spalte eins Wert in einzelne Zeile in der Datenbank mit jsp - mysql, jsp, Servlets einfügen

Wie fügt man mehrere Checkbox-Werte in einzelnen Spalte eins Wert in einer Zeile in der Datenbank mit jsp - mysql, jsp, Servlets

Ich möchte mehrere Kontrollkästchen Werte in der Datenbank mit JSP in einer einzigen Spalte der Datenbank aber Einzelwert in einer Zeile speichern. Mein JSP-Code 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>

Mein Servlet-Code QuickServlet (doGet-Methode):

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();
}

}

Dies speichert Kontrollkästchen Werte in einer einzelnen Spalte in einer einzelnen Zeile wie folgt:

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

Aber ich möchte einen Wert in einer Zeile speichern und so weiter. Wie unten (erwartete Ausgabe):

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

Bitte hilf mir. Danke im Voraus!!

Antworten:

0 für die Antwort № 1

In Ihrem Code, Zuerst Ihre Verkettung aller Gutschein die Verwendung for-Schleife und dann einfügen.

Wenn Sie möchten, dass jeder Beleg zeilenweise eingefügt wird, rufen Sie anstelle des Verkettungsbelegs in for-Schleife die Abfrage mit in for-Schleife auf und fügen Sie den Beleg ein.

So was:

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

0 für die Antwort № 2

Es wird funktionieren, überprüfen Sie einfach mit der Erstellung einer kleinen Tabelle (Multicheck) von zwei Feld (ID, Gutschein).

<?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]));
}
}
?>

Hier ist die Form:

<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>