2013-10-01 4 views
0

Я пытаюсь сделать викторину, и мой запрос ORDER BY RAND(), поэтому это означает, что это будет случайным ... Мой JSP отправляет его сервлету для обработки потока, но у меня проблема, я сохранил 4 вопроса с выбором (ответом) в базе данных и в моем коде ниже я возвращаю его. Проблема заключается в том, когда я получить ответ обследуемого только получены данные первый ответ ... Смотрите мой сервлетКак увеличить значение request.getParameter?

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="java.sql.*" %> 
<%@page import="database.Connect" %> 

<% 
    Connect conn = new Connect(); 
    Statement stmt = conn.getDataConn().createStatement(); 
    ResultSet rs = stmt.executeQuery("SELECT * from quiz WHERE category = 'secondary' ORDER BY RAND()"); 

%> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <link rel="stylesheet" type="text/css" href="../../css&js/des.css"> 
     <script src="css&js/modernizr.custom.js"></script> 

     <title>Question 1</title> 
    </head> 

    <body> 

     <img alt="" src="../../pics/bgimg2.jpg" id="bgimg" /> 

     <div class="md-modal md-effect-1 md-show" id="modal-1"> 
      <form action="../../Check" method="POST"> 
      <table border="1" class="c-form md-content"> 
      <% while(rs.next()){ 

      %> 
      <tr> 
       <td><h1><%=rs.getString("question")%>?</h1></td> 
       <td><select name="answer"> 
        <option value="<%=rs.getString("choice1")%>"><%=rs.getString("choice1")%></option> 
        <option value="<%=rs.getString("choice2")%>"><%=rs.getString("choice2")%></option> 
        <input type="hidden" name="correct" value="<%=rs.getString("correct")%>"/> 
       </select></td> 
      </tr> 

      <%} 
      %> 

      <tr> 
       <td align="center" colspan="2"><input type="submit" value="Next"/></td> 
      </tr> 

      </table> 

      </form> 
     </div> 



    </body> 

Я пытаюсь сделать тест и мой запрос ORDER BY RAND(), так это означает, что это будет случайным ... Мой JSP отправляет его сервлету для обработки потока, но у меня проблема, я сохранил 4 вопроса с выбором (ответом) в базе данных и в моем коде ниже я его возвращаю. Проблема заключается в том, когда я получить ответ обследуемого только получены данные первый ответ ... Смотрите мой сервлет

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="java.sql.*" %> 
<%@page import="database.Connect" %> 

<% 
    Connect conn = new Connect(); 
    Statement stmt = conn.getDataConn().createStatement(); 
    ResultSet rs = stmt.executeQuery("SELECT * from quiz WHERE category = 'secondary' ORDER BY RAND()"); 

%> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <link rel="stylesheet" type="text/css" href="../../css&js/des.css"> 
     <script src="css&js/modernizr.custom.js"></script> 

     <title>Question 1</title> 
    </head> 

    <body> 

     <img alt="" src="../../pics/bgimg2.jpg" id="bgimg" /> 

     <div class="md-modal md-effect-1 md-show" id="modal-1"> 
      <form action="../../Check" method="POST"> 
      <table border="1" class="c-form md-content"> 
      <% while(rs.next()){ 

      %> 
      <tr> 
       <td><h1><%=rs.getString("question")%>?</h1></td> 
       <td><select name="answer"> 
        <option value="<%=rs.getString("choice1")%>"><%=rs.getString("choice1")%></option> 
        <option value="<%=rs.getString("choice2")%>"><%=rs.getString("choice2")%></option> 
        <input type="hidden" name="correct" value="<%=rs.getString("correct")%>"/> 
       </select></td> 
      </tr> 

      <%} 
      %> 

      <tr> 
       <td align="center" colspan="2"><input type="submit" value="Next"/></td> 
      </tr> 

      </table> 

      </form> 
     </div> 



    </body> 

Servlet ... Я просто пытаюсь экспериментировать здесь, но я действительно нужна помощь .. Для вывод является нулевым для кода for и прошлого, также терпит неудачу, потому что первый ответ - это olnly retrieve, и мне нужно его увеличить. Пожалуйста, помогите

package Servlet; 

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class Check extends HttpServlet { 

    @Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     for(int i=0;i<10;i++) {  
      String Answer = request.getParameter("answer" + i); 
      System.out.println(Answer); 
     } 


     String Answer = request.getParameter("answer"); 
     String Correct = request.getParameter("correct"); 
     int score = 0; 


     if (Answer.equals(Correct)) { 
      score++; 
     } 
     System.out.println(score); 



    } 
} 
+0

@Bart :: Сэр плз, если у может предложить что-то ... –

+0

@Oded :: Sir plz, если вы можете что-то предложить. сейчас это неподдельный вопрос, я думаю –

ответ

0

Это может быть потому, что вы выбираете тег имеет то же имя для каждого вопроса:

<select name="answer"> 

Я думаю, что это должно уникальный

+0

Нет, он тоже не работает в этом случае .. Я проверил .. –

+0

+1 ЗА ОТВЕТ .. –

Смежные вопросы