我已經編寫了一個代碼,管理員有權將一般用戶從活動狀態更改爲非活動狀態,反之亦然。所以我想更新數據庫,如果單選按鈕從活動更改爲不活動。jsp中單選按鈕的數據庫更改
下面是代碼:
<%
while (rs.next()) {
String firstname = rs.getString("firstname");
String lastname = rs.getString("lastname");
String email = rs.getString("email");
String password = rs.getString("password");
String age = rs.getString("age");
String sex = rs.getString("sex");
String haddress = rs.getString("haddress");
String oaddress = rs.getString("oaddress");
String phonenumber = rs.getString("phonenumber");
String flag = rs.getString("flag");
Statement stmt1 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
%>
<tr>
<td>
Name: <% out.println(firstname); %> <% out.println(lastname); %>
</td>
<td>
<% if (flag.equals("A")){ %>
Active: <input type="radio" value="A" name="<% out.println(email); %>" onclick="<% stmt1.executeUpdate("update assignment set flag='A' where email='"+email+"'");
System.err.println("A"+email); %>
alert('changed to active');" checked>
Inactive: <input type="radio" value="I" name="<% out.println(email); %>" onclick="<% stmt1.executeUpdate("update assignment set flag='I' where email='"+email+"'");
System.err.println("I"+email); %>
alert('changed to inactive');">
<%
}else if(flag.equals("I")){%>
Active: <input type="radio" value="A" name="<% out.println(email); %>" onclick="<% stmt1.executeUpdate("update assignment set flag='A' where email='"+email+"'");
System.err.println("A"+email); %>
alert('changed to active');">
Inactive: <input type="radio" value="I" name="<% out.println(email); %>" onclick="<% stmt1.executeUpdate("update assignment set flag='I' where email='"+email+"'");
System.err.println("I"+email); %>
alert('changed to inactive');" checked>
但在輸出,當我改變一個單選按鈕,所有的查詢自動運行,數據庫更新到我在數據庫中的所有數據。
歡迎@LavinaChhabra – Senthil
這可以在沒有使用AJAX的情況下完成嗎? –
你可以做到這一點,但頁面刷新發生,你需要保留的位置。在沒有ajax的情況下,當整個頁面重新加載/刷新時,它不會是交互式/更好的用戶體驗。你可以像onchange =「pagename.jsp?email =」+ email +「&status =」+ this.value;在刷新時,獲取值並執行數據庫操作。但是,每次選擇/更改每行的選擇值時,都會刷新。 – Senthil