如何根据单选按钮选择mysql表来插入数据?我的jsp / java代码出了什么问题?为什么单选按钮不起作用?

时间:2016-07-31 19:10:25

标签: java mysql database jsp

我在mysql数据库中有两个表,一个用于学生,一个用于教师。两个表都有相同的列。

以下代码仅将数据插入教师的表格。如果用户选择教师的单选按钮,则注册数据应存储在教师的表中。如果用户选择学生的收音机,那么注册数据应存储在学生的表中。我的jsp / jdbc代码出了什么问题?什么是解决方案?

这个查询有什么问题。为什么这个查询只在mysql的student表中插入数据而不是在teacher2表中。 选择教师/学生单选按钮

收音机但不起作用

RPF

问题在这里

String gender = request.getParameter("gender"); if (gender != null) { String table = gender.equals("teacher") ? "teacher2" : "student"; // replace dots with your values String query = "INSERT INTO " + table + "(firstname,lastname,username,password,confirmpassword,email,month,day,year,gender) VALUES ('"+name+"','"+abc+"','"+cde+"','"+pass+"','"+confpass+"','"+emails+"','"+months+"','"+day+"','"+year+"','"+gender+"')"; st.executeUpdate(query);} //但数据插入mysql

enter image description here

的index.jsp

st.executeUpdate(query);

statement2.jsp

  <form  method="GET " action="statement2.jsp" autocomplete="on"> 
   <input type="radio" name="gender" value="teacher" checked/> Teacher
   <input type="radio" name="gender" value="Student"/>Student
   <input type="submit" value="Login" /> 
   <input type="button" onclick="location.href='reg.jsp';" value="Sign Up" />
  </form> 

reg.jsp //注册的注册页面

  <%
   String name=request.getParameter("first");
   String abc=request.getParameter("last");
   String cde=request.getParameter("user");
   String pass=request.getParameter("password");
   String confpass=request.getParameter("confirmpass");
   String emails=request.getParameter("email");
   String months=request.getParameter("month");
   String day=request.getParameter("day");
   String year=request.getParameter("year");

   String gender = request.getParameter("gender");
   if (gender != null) {
   String table = gender.equals("teacher") ? "teacher2" : "student";
// replace dots with your values
   String query = "INSERT INTO " + table + "(firstname,lastname,username,password,confirmpassword,email,month,day,year,gender) VALUES ('"+name+"','"+abc+"','"+cde+"','"+pass+"','"+confpass+"','"+emails+"','"+months+"','"+day+"','"+year+"','"+gender+"')";
  st.executeUpdate(query);}     // problem is here

 %> 

db conn.jsp //此文件用于数据库连接

     <form  method="GET" action="statement2.jsp" autocomplete="on"> 
       <input id="firstnamesignup" name="first" required="required" type="text" placeholder="First" />
     <input id="lastnamesignup" name="last" required="required" type="text" placeholder="Last" />

     <select name="gender">
     <option value="male">Male</option>
     <option value="female">Female</option>
     </select>      
     </form>

1 个答案:

答案 0 :(得分:0)

我认为这里的问题不在于查询,而是在参数性别值上,您编码的条件运算符$('.listing_address').hover(function(ev) { var mouEnt = ev.type === "mouseenter", listing = $(this).closest('.listing'); listing.find('.glass').fadeToggle(500); listing.find('.house').animate({left: mouEnt ? 25 : 10}); listing.toggleClass('open'); }); 决定了应该插入哪个表,然后将表变量与它的查询,所以我的结论是性别参数没有返回“老师”值,这使得表变量总是“学生”。我建议您先检查性别返回的参数。