📄 query_test.jsp
字号:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="jinghua.*"%>
<%@ page import="java.util.*"%>
<jsp:useBean id="DBCon" class="jinghua.JinghuaConn" scope="session">
</jsp:useBean>
<%!Connection con;
class Test{
String id;
String name;
String grade;
String time;
String totalMark;
String testclass;
public String toString(){
String temp="";
temp="<br> id="+id+"<br> name="+name;
return temp;
}
};
boolean debug=false;
Statement stmt=null;
ResultSet rs=null;
String sql="";
String sqlCon=null;
int testNumber=0;
int EveryPage=5;//每页显示的记录数;
int OnPage=1; //当前显示的页数;
int Total=0;//记录的总数;
int TotalPage=0;//记录的总页数;
%>
<%
ArrayList testSet=new ArrayList();
try{
con=DBCon.getConnection();
%>
<%
//构造查询条件
//String query_grade=(String)session.getAttribute("query_grade");
//String query_sub=(String)session.getAttribute("query_sub");
//String query_knowpoint=(String)session.getAttribute("query_knowpoint");
//String query_testtype=(String)session.getAttribute("query_testtype");
//String errorpad_errorcount=(String)session.getAttribute("errorpad_errorcount");
sqlCon="";
String query_grade=request.getParameter("Grade");
String query_sub=request.getParameter("Subject");
String query_knowpoint=request.getParameter("KnowPoint");
String query_testtype=request.getParameter("testtype");
if(query_grade!=null)
{
session.setAttribute("query_grade",query_grade);
}
else
{
query_grade=(String)session.getAttribute("query_grade");
}
if(query_sub!=null)
{
session.setAttribute("query_sub",query_sub);
}else
{
query_sub=(String)session.getAttribute("query_sub");
}
if(query_knowpoint!=null)
{
session.setAttribute("query_knowpoint",query_knowpoint);
}
else
{
query_knowpoint=(String)session.getAttribute("query_knowpoint");
}
if(query_testtype!=null)
{
session.setAttribute("query_testtype",query_testtype);
}
else
{
query_testtype=(String)session.getAttribute("query_testtype");
}
if(query_grade==null)
query_grade="all";
if(query_sub==null)
query_sub="all";
if(query_knowpoint==null)
query_knowpoint="all";
if(query_testtype==null)
query_testtype="2";
if(debug){
out.print("<br>grade="+query_grade+
"<br>sub="+query_sub+
"<br>knowpoint="+query_knowpoint+
"<br>testtype="+query_testtype
);
}
sqlCon="";
int itesttype=Integer.parseInt(query_testtype);
switch (itesttype){
case 2://单元测试
sqlCon=" (test.status<>3)";
if(query_grade!=null){
if(!query_grade.equals("all")){
if(query_grade.equals("c")){
if(sqlCon.equals(""))
sqlCon=" (test.gradenote='c1' OR test.gradenote='c2' OR test.gradenote='c3')";
else
sqlCon=sqlCon+ " AND "+" (test.gradenote='c1' OR test.gradenote='c2' OR test.gradenote='c3')";
}else if(query_grade.equals("g")){
if(sqlCon.equals(""))
sqlCon=" (test.gradenote='g1' OR test.gradenote='g2' OR test.gradenote='g3l' OR test.gradenote='g3w')";
else
sqlCon=sqlCon+ " AND "+" (test.gradenote='g1' OR test.gradenote='g2' OR test.gradenote='g3l' OR test.gradenote='gw3')";
}
else
if(sqlCon.equals(""))
sqlCon=" (test.gradenote='"+query_grade+"')";
else
sqlCon=sqlCon+" AND "+" (test.gradenote='"+query_grade+"')";
}
}
if(debug) out.println("<br>grade sql="+sqlCon);
if(query_sub!=null){
if(!query_sub.equals("all")){
if (!sqlCon.equals(""))
sqlCon=sqlCon +" AND (test.subid="+query_sub+")";
else
sqlCon=" (test.subid="+query_sub+")";
}
}
if(debug) out.println("<br>subject 4"+sqlCon);
if(query_knowpoint!=null){
if(!query_knowpoint.equals("all")){
if(!sqlCon.equals(""))
sqlCon=sqlCon+" AND(test.knowpointid1="+query_knowpoint +
" OR test.knowpointid2="+query_knowpoint+
" OR test.knowpointid3="+query_knowpoint+")";
else
sqlCon=" (test.knowpointid1="+query_knowpoint +
" OR test.knowpointid2="+query_knowpoint+
" OR test.knowpointid3="+query_knowpoint+")";
}
}
if(debug) out.println("<br>knowpoint sql="+sqlCon);
sql="SELECT `test`.`id`, `grade`.`Name` AS `gradename`,"+
" `test`.`title` AS `testname`, `test`.`mark`, `test`.`date` AS `testdate`"+
" FROM `test` LEFT OUTER JOIN `grade` ON (`test`.`gradenote` = `grade`.`note`)";
if(!sqlCon.equals("")) sql=sql+" WHERE "+sqlCon;
sql=sql+" ORDER BY `test`.`gradenote`,`test`.`subid`,`test`.`id`";
if(debug) out.println("<br>test sql="+sql);
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()){
Test t=new Test();
t.id=rs.getString("id");
//<a href="Query_test_mn.jsp" target="_self">test</a>
t.name="<a href="+"Query_test_unit.jsp?testID="+t.id+" target=\"_self\">"+
rs.getString("testname")+"</a>";
t.grade=rs.getString("gradename");
t.totalMark=rs.getString("mark");
t.testclass="单元测试";
t.time=rs.getString("testdate");
testSet.add(t);
}
rs.close();
stmt.close();
break;
case 3://模拟测试
if(query_grade!=null){
if(!query_grade.equals("all")){
if(query_grade.equals("c")){
if(sqlCon.equals(""))
sqlCon=" (mn_test.grade_note='c1' OR mn_test.grade_note='c2' OR mn_test.grade_note='c3')";
else
sqlCon=sqlCon+" AND "+" (mn_test.grade_note='c1' OR mn_test.grade_note='c2' OR mn_test.grade_note='c3')";
}else if(query_grade.equals("g")){
if(sqlCon.equals(""))
sqlCon=" (mn_test.grade_note='g1' OR mn_test.grade_note='g2' OR mn_test.grade_note='g3l' OR mn_test.grade_note='g3w')";
else
sqlCon=sqlCon+" AND "+" (mn_test.grade_note='g1' OR mn_test.grade_note='g2' OR mn_test.grade_note='g3l' OR mn_test.grade_note='g3w')";
}
else if(sqlCon.equals(""))
sqlCon=" (mn_test.grade_note='"+query_grade+"')";
else
sqlCon=sqlCon+" AND "+" (mn_test.grade_note='"+query_grade+"')";
}
}
if(debug) out.println("<br>grade sql="+sqlCon);
sql="SELECT `mn_test`.`id`, `mn_test`.`name` AS `testname`,"+
" `grade`.`Name` AS `gradename`, `mn_test`.`mntotalmark`,"+
" CONCAT(`mn_test`.`begin_date`,\"至\", `mn_test`.`end_date`) as testtime FROM `mn_test`"+
" LEFT OUTER JOIN `grade` ON (`mn_test`.`grade_note` = `grade`.`note`)";
if(!sqlCon.equals("")) sql=sql+" WHERE "+sqlCon;
sql=sql+" ORDER BY `mn_test`.`grade_note`,`mn_test`.`begin_date`";
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()){
Test t=new Test();
t.id=rs.getString("id");
//<a href="Query_test_mn.jsp" target="_self">test</a>
t.name="<a href="+"Query_test_mn.jsp?mnID="+t.id+" target=\"_self\">"+
rs.getString("testname")+"</a>";
t.grade=rs.getString("gradename");
t.totalMark=rs.getString("mntotalmark");
t.testclass="模拟考试";
t.time=rs.getString("testtime");
testSet.add(t);
}
rs.close();
stmt.close();
break;
default:
}
if(debug)
out.println("<br>at last sql="+sql);
//rs.last();//移到最后一条记录;
//Total=rs.getRow();//记录的总数;
//TotalPage=(Total%EveryPage==0)?(Total/EveryPage):(Total/EveryPage+1);
%>
<!--年级,科目,知识点三个下拉列表框联动-->
<%
out.print(Tools.sub_know(con));
out.print(Tools.grade_sub(con));
%>
<script language="JavaScript">
function changegs(locationid){
document.myform.Subject.length =1;
document.myform.KnowPoint.length =1;
var locationid=locationid;
var i;
for (i=0;i < gscount; i++){
if (grade_sub[i][0] == locationid) {
document.myform.Subject.options[document.myform.Subject.length] = new Option(grade_sub[i][2], grade_sub[i][1]);
}
}
}
function changesk(locationid){
document.myform.KnowPoint.length =1;
var locationid=locationid;
var i;
for (i=0;i < gskcount; i++){
if (grade_sub_know[i][1] == locationid){
document.myform.KnowPoint.options[document.myform.KnowPoint.length] = new Option(grade_sub_know[i][3], grade_sub_know[i][2]);
}
}
}
function delit(myform)
{
if (confirm("将删除所有选择的知识点数据?"))
{
myform.action="errorpaddel.jsp";
myfrom.target="_self";
myform.submit();
}
}
function del_check()
{
var count = errorpad.elements.length;
var noSelect = true;
for(var i=0;i<count;i++)
{
if(errorpad.elements[i].checked)
{
noSelect = false;
break;
}
}
if(noSelect == true)
{
alert("您还没有选择要删除的错题!");
return(false);
}
else
{
if(confirm("将删除所有选择的错题吗?"))
{
document.errorpad.method = "POST";
document.errorpad.action = "errorpad_del.jsp";
document.errorpad.target="_self";
document.errorpad.submit();
}
else
{
document.form3.method = "GET";
document.form3.action = "";
}
}
return false;
}
function addrate_check()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -