亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? query_mark_mn_print.jsp

?? JSP在線考試系統,后臺數據庫為MySQL_test_online_1.4.1
?? JSP
?? 第 1 頁 / 共 3 頁
字號:
    }
    catch(Exception e){
        out.print("<br> Query student's total position sql="+sql);
        out.print("<br>"+e.toString());
    }

    //各科目的成績單

    sql=" SELECT  test.paper as testpaper,test.testnum as testnum,mn_scores.test_rs,`subject`.`id` AS  `subid`,`subject`.`Name` AS `subname`,  FORMAT(`test`.`mark`,0) AS `totalmark`,  FORMAT(`mn_scores`.`score`,0) AS `score` "+
        " FROM  `mn_scores`  LEFT OUTER JOIN `subject` ON (`mn_scores`.`sub_id` = `subject`.`ID`)"+
        " LEFT JOIN `test` ON (`mn_scores`.`test_id` = `test`.`id`)"+
        " WHERE  (`mn_test_id` = "+mnTest.id+") AND (`stu_id` = '"+Student.id+"')"+
        " ORDER BY `subid`";
    try{
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        String temp=null;
        String [] arrtemp=null;
        String [] tests=null;
        while(rs.next()){
            Subject s=new Subject();
            s.sub_id=rs.getInt("subid");
            s.name=rs.getString("subname");
            s.totalMark=rs.getString("totalmark");
            s.realMark=rs.getString("score");
            s.testnum=rs.getInt("testnum");
            //處理試題信息
            temp=rs.getString("testpaper");
            tests=temp.split("#");

            StringBuffer Answer=new StringBuffer();
            StringBuffer Mark=new StringBuffer();
            StringBuffer Dif=new StringBuffer();
            StringBuffer testIDs=new StringBuffer();
            StringBuffer Rate=new StringBuffer();
            for(i=0;i<s.testnum;i++){
                //取回試題號
                arrtemp=tests[i].split("@");

                testIDs.append(arrtemp[0]+",");//題號
                Rate.append(T_Question.getCorrectRate(con,Integer.parseInt(arrtemp[0]))+",");
                Answer.append(arrtemp[1]+",");//答案
			    Mark.append(arrtemp[2]+",");
                Dif.append(arrtemp[3]+",");
            }
            s.arrAnswer=Answer.toString().split(",");
            s.arrDif=Dif.toString().split(",");
            s.arrMark=Mark.toString().split(",");
            s.arrID=testIDs.toString().split(",");
            s.arrRate=Rate.toString().split(",");
            Answer=null;
            Mark=null;
            Dif=null;
            testIDs=null;
            //處理科目考試結果
            temp=rs.getString("test_rs");
            arrtemp=temp.split("#");
            //s.arrAnswer=arrtemp[0].split(",");
            //s.arrMark=arrtemp[1].split(",");
            s.arrSubAnswer=arrtemp[0].split(",");
            s.arrTF=arrtemp[1].split(",");
            //s.arrDif=arrtemp[4].split(",");
            s.arrSubMark=arrtemp[2].split(",");



            subs.addElement(s);
        }
		rs.close();
        stmt.close();
        if(debug){
            out.print("<br>subject info sql="+sql);
            out.print("<br>subject info="+subs.toString());
        }
    }
    catch(SQLException se){
        out.print("<br> subject info error sql="+sql);
        out.print("<br>"+se.toString());
    }
    catch(Exception e){
        out.print("<br> subject info error sql="+sql);
        out.print("<br>"+e.toString());
    }
    //科目的平均

    try{
        //分校平均
        sql="SELECT   `UserInfo`.`jh_area`,  `mn_history`.`mn_test_id`,  `mn_scores`.`sub_id`,"+
        "  FORMAT(AVG(`mn_scores`.`score`),2) AS `score_avg`"+
        "  FROM  `mn_history` "+
        "  LEFT OUTER JOIN `mn_scores` ON (`mn_history`.`stu_id` = `mn_scores`.`stu_id`) "+
        "  AND (`mn_history`.`mn_test_id` = `mn_scores`.`mn_test_id`)"+
        "  LEFT OUTER JOIN `UserInfo` ON (`mn_history`.`stu_id` = `UserInfo`.`vcUserNo`) "+
        "  WHERE"+
        "  (`UserInfo`.`jh_area` = '"+Student.jh_area+"') AND "+
        "  (`mn_history`.`mn_test_id` = "+mnTest.id+") "+
        "  GROUP BY  `UserInfo`.`jh_area`,  `mn_history`.`mn_test_id`,  `mn_scores`.`sub_id`"+
        "  ORDER BY  `mn_scores`.`sub_id`";


        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        i=0;
        Subject s=null;
        while(rs.next()){
            s=(Subject)subs.elementAt(i);
            s.avgArea=rs.getString("score_avg");
            i++;
        }
		rs.close();
        stmt.close();
        if(debug){
            out.print("<br>subject area_avg sql="+sql);
            out.print("<br>subject info="+subs.toString());
        }

        //全體平均
        sql="SELECT  `mn_scores`.`mn_test_id`,  `mn_scores`.`sub_id`,"+
        "  FORMAT(AVG(`mn_scores`.`score`),2) AS `score_avg`"+
        "  FROM  mn_history LEFT OUTER JOIN mn_scores ON(mn_history.stu_id=mn_scores.stu_id) "+
        "  AND (`mn_history`.`mn_test_id` = `mn_scores`.`mn_test_id`)"+
        "  WHERE mn_history.mn_test_id="+mnTest.id+
        "  GROUP BY   `mn_scores`.`mn_test_id`,  `mn_scores`.`sub_id`"+
        "  ORDER BY   `mn_scores`.`sub_id`";
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        i=0;
        s=null;
        while(rs.next()){
            s=(Subject)subs.elementAt(i);
            s.avgTotal=rs.getString("score_avg");
            i++;
        }
		rs.close();
        stmt.close();
        if(debug){
            out.print("<br>subject total sql="+sql);
            out.print("<br>subject info="+subs.toString());
        }

    }
    catch(SQLException se){
        out.print("<br> subject total error sql="+sql);
        out.print("<br>"+se.toString());
    }
    catch(Exception e){
        out.print("<br> subject total error sql="+sql);
        out.print("<br>"+e.toString());
    }
    //10% top 30% top
    //
    DecimalFormat df=new DecimalFormat("####.##");
    for(j=0;j<subs.size();j++){
    //每一科目
    Subject s=(Subject)subs.elementAt(j);
    try{
        sql="  SELECT mn_history.mn_test_id,mn_history.stu_id, mn_scores.score, mn_scores.sub_id "+
            "  FROM  mn_history LEFT OUTER JOIN mn_scores ON(mn_history.stu_id=mn_scores.stu_id) "+
            "  AND (`mn_history`.`mn_test_id` = `mn_scores`.`mn_test_id`)"+
            "  WHERE mn_history.mn_test_id="+mnTest.id+
            "  AND  sub_id="+s.sub_id+
            "  ORDER BY mn_scores.score DESC";

        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        //top10
        i10=Math.round(mnTest.testPeople *0.1);
        i30=Math.round(mnTest.testPeople *0.3);
        if(i10==0) i10=1;
        if(i30==0) i30=1;
        f10=0;
        f30=0;
        if(debug){
            out.print("<br><br><br>Begin:j="+j+"<br>sub_name="+s.name +
            "<br>f10="+f10+"<br>i30="+i30+"<br>f30="+f30);

        }
        i=0;

        int tempPos=1;
         float fmark=Float.MAX_VALUE;

        float tempf=0;
        float realf=Float.parseFloat(s.realMark);
        if(debug){
            out.print("<br>top10-top30:"+
                "<br>i10="+i10+
                "<br>i30="+i30);
        }
        while(rs.next()){
            tempf=rs.getFloat("score");

            if(debug){
                out.print("<br>sub_real_mark="+realf+
                "<br>rs:score="+tempf);
            }
            i++;

            if(i<=i10)
                f10+=tempf;
            if(i<=i30)
                f30+=tempf;

            if(tempf==realf){
                        s.posAll=String.valueOf(tempPos);
                        if(mnTest.testPeople<=100)
                            s.posPercent=s.posAll;
                        else
                            s.posPercent=String.valueOf(100*tempPos/mnTest.testPeople);
            }
            else if(fmark>tempf){
                tempPos++;
                fmark=tempf;
           }
        }
        if(debug){
            out.print("<br>end:i10="+i10+"<br>f10="+f10+"<br>i30="+i30+
                "<br>f30="+f30+"<br>posall="+s.posAll);
        }
        rs.close();
        stmt.close();
        df=new DecimalFormat("####.00");
        s.avgTop10=df.format(f10/i10);
        s.avgTop30=df.format(f30/i30);


        if(debug){
            out.print("<br>avgTop10="+s.avgTop10+"<br>avgTop30="+s.avgTop30);
            out.print("<br>subject top10-30 sql="+sql);
        }

    }
    catch(SQLException se){
        out.print("<br> subject info error sql="+sql);
        out.print("<br>"+se.toString());
    }
    catch(Exception e){
        out.print("<br> subject info error sql="+sql);
        out.print("<br>"+e.toString());
    }


    }//end for


    //更新歷史記錄
    //先將這次查詢的結果存入mn_history
    try{
        sql=" select * from mn_history where mn_test_id="+mnTest.id+
            " and stu_id='"+Student.id+"'";
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        if(rs.next()){
            rs.close();
            stmt.close();
            StringBuffer sb=new StringBuffer();
            for(i=0;i<subs.size();i++){
                Subject s=(Subject)subs.elementAt(i);
                sb.append(s.name+":"+s.realMark+"#");
                }


            sql=" update mn_history set totalmark="+Student.total_mark+","+
                " submark='"+sb.toString()+"',test_date='"+Student.test_date+"',"+
                " sub_num="+mnTest.sub_num+","+
                " totalpeople="+mnTest.testPeople+","+
                " position="+Student.posAll+","+
                " top10avg="+Student.avgTop10+","+
                " top30avg="+Student.avgTop30+
                " where stu_id='"+Student.id+"' and mn_test_id="+mnTest.id;

            stmt=con.createStatement();
            stmt.executeUpdate(sql);

            if(debug) out.println("<br>update mn_history sql="+sql);
            stmt.close();

        }
        else{
            //將新記錄插入數據庫
            rs.close();
            stmt.close();
            StringBuffer sb=new StringBuffer();
            for(i=0;i<subs.size();i++){
                Subject s=(Subject)subs.elementAt(i);
                sb.append(s.name+":"+s.realMark+"#");
                }
            sql=" insert into mn_history(stu_id,mn_test_id,totalmark,submark,test_date,sub_num,"+
                " position,top10avg,top30avg,testpeople) "+
                " values('"+Student.id+"',"+mnTest.id+","+Student.total_mark+",'"+
                    sb.toString()+"','"+Student.test_date+"',"+mnTest.sub_num+","+
                    Student.posAll+","+Student.avgTop10+","+Student.avgTop30+","+mnTest.testPeople+")";
            stmt=con.createStatement();
            stmt.executeUpdate(sql);
            stmt.close();
        }

    }catch(SQLException se){
        out.print("<br> insert into mn_history sql="+sql);
        out.print("<br>"+se.toString());
    }
    catch(Exception e){
        out.print("<br> insert into mn_history sql="+sql);
        out.print("<br>"+e.toString());
    }

    //從mn_history中選取記錄 stu_id,mn_test_id,totalmark,submark,test_date
     try{
	 
	 	sql="SELECT   MAX(`mn_history`.`sub_num`) AS `maxsub` FROM  `mn_history`"+
			" WHERE  (stu_id = '"+Student.id+"')";
		stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        
        if(rs.next())
         	maxHisSubNum=rs.getInt("maxsub");
		else
			maxHisSubNum=0;
		rs.close();
		stmt.close();
        sql=" SELECT   `mn_test`.`sub_num`,`mn_test`.`testpeople`,`mn_history`.`totalpeople`,  "+
            " `mn_history`.`mn_test_id`,  `mn_history`.`totalmark`,  `mn_history`.`position`,"+
            " `mn_history`.`top10avg`,  `mn_history`.`top30avg`,  `mn_history`.`submark`,"+
            " DATE_FORMAT(`mn_history`.`test_date`,\"%Y-%m-%e\") AS `test_date`, "+
            " `mn_history`.`stu_id` "+
            " FROM  `mn_history`  LEFT OUTER JOIN `mn_test` ON (`mn_history`.`mn_test_id` = `mn_test`.`id`)"+
            " WHERE  (`mn_history`.`stu_id` = '"+Student.id+"')"+" AND (`mn_test`.`grade_note` = '"+gradenote +"')"+
            " ORDER BY  `test_date` DESC";
        stmt=con.createStatement();
        rs=stmt.executeQuery(sql);
        hisRS=new Vector();
        if(debug)
            out.print("<br> query mn_history sql="+sql);
        String submarks;

        while(rs.next()){
        //構造一條歷史記錄/

            History h=new History();

            h.sub_num=rs.getInt("sub_num");
            h.testdate=rs.getString("test_date");
            h.mn_test_id=rs.getString("mn_test_id");
            h.stu_id=rs.getString("stu_id");
            h.totalmark=rs.getInt("totalmark");
            submarks=rs.getString("submark");
            h.sub_marks=submarks.split("#");

            if(rs.getInt("testpeople")==rs.getInt("totalpeople")){
                //模擬考試的總人數沒有變化
                h.top10avg=rs.getString("top10avg");
                h.top30avg=rs.getString("top30avg");
                h.position=rs.getString("position");
                h.testPeople=rs.getInt("totalpeople");
            }
            else{
            //歷史排名 //重新求排名
            h.testPeople=rs.getInt("testpeople");
            i10=Math.round(h.testPeople *0.1);//top10
            i30=Math.round(h.testPeople *0.3);
            if(i10==0) i10=1;
            if(i30==0) i30=1;
            f10=0;
            f30=0;
        try{
            sql=" SELECT mn_history.stu_id,mn_history.mn_test_id,  FORMAT(SUM(mn_scores.score),0) AS totalmark"+
                " FROM  mn_history LEFT OUTER JOIN mn_scores ON(mn_history.stu_id=mn_scores.stu_id) "+
                " AND (`mn_history`.`mn_test_id` = `mn_scores`.`mn_test_id`)"+
                " WHERE mn_history.mn_test_id="+h.mn_test_id+
                " GROUP BY mn_history.stu_id,mn_history.mn_test_id"+
                " ORDER BY  totalmark desc";
            Statement tempstmt=con.createStatement();
            ResultSet temprs=tempstmt.executeQuery(sql);

            i=0;
            int imark=0;
            int tempPos=1;
            float fmark=0;
            int tmark=Integer.MAX_VALUE;
            while(temprs.next()){
                i++;
                imark=temprs.getInt("totalmark");
                fmark=temprs.getFloat("totalmark");

                if(i<=i10)
                    f10+=fmark;
                if(i<=i30)
                    f30+=fmark;
                //查找分數的排名

                if(debug){
                    out.print("<br><br>history student totalmark="+Student.total_mark +
                        "<br>sql totalmark="+temprs.getInt("totalmark"));
                }

                if(h.totalmark==imark){
                    h.position=String.valueOf(tempPos);
                    //Student.posAll=tempPos;
                }
                else if(tmark>imark){//分數不同
                    tempPos++;
                    tmark=imark;
                }
            }//end while
            temprs.close();
            tempstmt.close();
            df=new DecimalFormat("####.00");
            h.top10avg=df.format(f10/i10);
            h.top30avg=df.format(f30/i30);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产宾馆实践打屁股91| 久久久亚洲高清| 久久久久久久久久久久久久久99 | 欧美激情一区三区| 婷婷久久综合九色综合伊人色| 国产成人av电影在线| 欧美妇女性影城| 亚洲欧洲日韩女同| 国产一区二区在线观看视频| 欧美唯美清纯偷拍| 日韩一区中文字幕| 国产91高潮流白浆在线麻豆| 7777精品伊人久久久大香线蕉最新版| 亚洲色图欧洲色图| 成人av在线资源| 国产性天天综合网| 国产乱码精品一区二区三| 555夜色666亚洲国产免| 亚洲国产美女搞黄色| av一区二区三区四区| 中文字幕欧美日韩一区| 国产精品一区二区你懂的| 欧美大胆一级视频| 蜜臀久久99精品久久久久久9 | 亚洲国产你懂的| 91首页免费视频| 国产精品素人一区二区| 成人激情免费电影网址| 国产三级精品视频| 国产凹凸在线观看一区二区| 国产三级一区二区| 成人av在线一区二区三区| 国产精品毛片无遮挡高清| av中文字幕在线不卡| 国产日韩欧美a| 菠萝蜜视频在线观看一区| 国产精品视频一二三| 懂色中文一区二区在线播放| www国产精品av| 成人一区二区三区| 亚洲视频在线一区观看| 在线观看网站黄不卡| 午夜国产精品影院在线观看| 欧美一二三区在线观看| 国产一区二区三区四区在线观看| 久久久久久久久一| 色综合欧美在线视频区| 性做久久久久久久免费看| 日韩三区在线观看| 懂色av一区二区在线播放| 亚洲人吸女人奶水| 6080午夜不卡| 国产98色在线|日韩| 亚洲欧美另类小说| 91麻豆精品国产| 国产乱码精品一区二区三区五月婷 | 午夜精品久久久久久久99水蜜桃| 在线播放日韩导航| 韩国av一区二区| 亚洲免费在线观看| 91精品国模一区二区三区| 国产精品综合一区二区三区| 国产精品久久久久一区| 欧美日韩一区高清| 国产电影精品久久禁18| 一区二区不卡在线播放| 欧美成人一区二区三区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产精品一线二线三线精华| 国产精品久久久久一区二区三区 | 美腿丝袜亚洲三区| 自拍视频在线观看一区二区| 在线综合亚洲欧美在线视频| 国产精品一卡二卡在线观看| 亚洲午夜三级在线| 欧美国产日本视频| 制服丝袜亚洲色图| 99国产精品久久久久| 欧美aaaaa成人免费观看视频| 亚洲欧洲韩国日本视频| 日韩美女在线视频| 欧美日韩一区在线| 一本大道久久精品懂色aⅴ| 狠狠网亚洲精品| 日日摸夜夜添夜夜添亚洲女人| 亚洲国产精品激情在线观看| 欧美一区二区三区影视| 在线观看网站黄不卡| 成人va在线观看| 国产91在线|亚洲| 毛片av中文字幕一区二区| 亚洲第一综合色| 一区二区三区小说| 中文字幕亚洲区| 中文无字幕一区二区三区| 精品少妇一区二区三区在线播放 | 国产清纯白嫩初高生在线观看91 | 色婷婷国产精品| 国产成人亚洲综合a∨猫咪 | 午夜激情一区二区三区| 一区二区三区日韩欧美精品| 中文字幕一区二区在线观看| 国产日产精品一区| 久久久久久久久伊人| ww亚洲ww在线观看国产| 精品国产乱码91久久久久久网站| 欧美老女人第四色| 欧美男同性恋视频网站| 欧美日韩国产一级片| 欧美艳星brazzers| 欧美精选一区二区| 91精品视频网| 欧美一区二区日韩| 日韩午夜电影av| 日韩免费性生活视频播放| 日韩欧美国产三级| 日韩精品影音先锋| 精品av综合导航| 欧美精品一区二区不卡| 精品少妇一区二区三区 | 91.xcao| 欧美一区二区三区免费视频| 欧美一卡二卡在线| 欧美草草影院在线视频| 337p日本欧洲亚洲大胆精品| 久久亚洲精精品中文字幕早川悠里| 日韩免费高清视频| 久久久久久久精| 国产精品久久久久久久裸模| 亚洲免费av在线| 热久久久久久久| 国产91精品免费| 色婷婷综合中文久久一本| 欧美亚州韩日在线看免费版国语版 | 久久综合国产精品| 国产精品久久久久婷婷二区次| 亚洲乱码精品一二三四区日韩在线 | 亚洲视频狠狠干| 亚洲国产日产av| 精品一区二区精品| 波多野结衣91| 制服丝袜成人动漫| 国产丝袜在线精品| 亚洲国产综合色| 国产一区999| 91国模大尺度私拍在线视频| 日韩欧美色综合网站| 国产欧美一区二区精品仙草咪| 一区二区在线观看免费| 久久综合综合久久综合| 成人精品免费看| 欧美精品一卡二卡| 国产精品欧美精品| 日产欧产美韩系列久久99| 成人综合激情网| 欧美日本韩国一区二区三区视频 | 国产精品456| 欧美日本一区二区三区四区| 国产欧美日韩视频在线观看| 亚洲一区二区视频在线| 国产**成人网毛片九色 | 国产乱子伦视频一区二区三区| 97久久人人超碰| 久久精品一区四区| 日本美女一区二区三区| 99国产精品一区| 久久久久国产一区二区三区四区 | 色综合久久88色综合天天6| 91精品国模一区二区三区| 亚洲欧美日韩中文播放| 国产在线不卡一卡二卡三卡四卡| 日本大香伊一区二区三区| 国产婷婷色一区二区三区四区| 五月婷婷激情综合| 91久久奴性调教| 亚洲欧洲美洲综合色网| 懂色av中文一区二区三区| 精品国产伦一区二区三区观看体验| 亚洲国产精品久久久久婷婷884| 成人一区在线观看| 久久综合久久综合九色| 日韩av一级片| 欧美三级视频在线播放| 伊人色综合久久天天| av中文字幕亚洲| 国产欧美日韩精品a在线观看| 久久精品国产久精国产| 91精品欧美一区二区三区综合在 | 欧美日韩一区二区三区高清| 国产三级精品在线| 韩国视频一区二区| 精品人伦一区二区色婷婷| 奇米综合一区二区三区精品视频| 在线一区二区三区四区五区| 综合在线观看色| 91视频观看视频| 亚洲欧美区自拍先锋| 色先锋资源久久综合| 亚洲观看高清完整版在线观看| 欧洲国内综合视频|