From aa64252100b93d059560b638aeea8aefcda99612 Mon Sep 17 00:00:00 2001 From: cwlseu <523814299@qq.com> Date: Thu, 13 Feb 2014 17:46:20 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud_lab/PrepareClass.html | 1 - cloud_lab/PrepareClassAjax.js | 4 + cloud_lab/TeacherOnClass.html | 203 ++++++++++++++++-- cloud_lab/TeacherOnClassAjax.js | 17 +- cloud_lab/css/PrepareClass.css | 6 +- cloud_lab/css/teacheronclass.css | 14 +- cloud_lab/index.html | 2 +- cloud_lab/js/PrepareClass.js | 4 - cloud_lab/js/index.js | 11 + cloud_lab/js/teacheronclass.js | 16 +- cloud_lab/main/classofteacher.php | 2 - cloud_lab/main/config/dbconfig.php | 2 +- cloud_lab/main/coursedetail.php | 4 +- cloud_lab/main/models/coursedetailModel.php | 55 ++--- cloud_lab/main/models/getClassInfoById.php | 10 +- .../main/models/getPrepareClassInfoById.php | 12 +- cloud_lab/main/models/prepareClassModel.php | 143 +++++++++--- cloud_lab/main/models/saveProgress.php | 10 +- cloud_lab/main/onclassppt.php | 10 +- cloud_lab/main/prepareclass.php | 99 ++++----- cloud_lab/main/preparehomework.php | 3 +- cloud_lab/main/register.php | 7 +- cloud_lab/register.html | 3 +- 23 files changed, 447 insertions(+), 191 deletions(-) diff --git a/cloud_lab/PrepareClass.html b/cloud_lab/PrepareClass.html index 663cb52..34d9a53 100644 --- a/cloud_lab/PrepareClass.html +++ b/cloud_lab/PrepareClass.html @@ -24,7 +24,6 @@

Oracle 云教学实验室

@@ -296,7 +294,7 @@

第三章

- + @@ -333,17 +331,194 @@

第三章

diff --git a/cloud_lab/TeacherOnClassAjax.js b/cloud_lab/TeacherOnClassAjax.js index 354d6d3..0598b50 100644 --- a/cloud_lab/TeacherOnClassAjax.js +++ b/cloud_lab/TeacherOnClassAjax.js @@ -30,21 +30,20 @@ $(function() {
\ \ \ -

"+coursename+"

\ +

"+coursename+"

\
\

已上至第"+charpter+"章第"+lesson+"节

\ - 立即上课\ + 开始上课\ \
\ -
\ +
\

未解答疑问

\ 1\ -
\
\

"+description+"

\

上课人数:"+studentsnum+"人

\
\ -
\ +
\
\

"+percent+"%

\
\ @@ -59,7 +58,7 @@ $(function() { }); // 点击课程名时请求 - $("#classes_h").live('click', function() { + $(".classes_h").live('click', function() { classid = $(this).attr('data-classid'); $.ajax({ type : 'POST', @@ -135,7 +134,7 @@ $(function() { // 点击开始上课时请求 $('.bt-to-ppt').live('click', function() { - classid = $(this).attr('data-classid'); + classid = $(this).prevAll('h3').attr('data-classid'); charpter = $(this).prevAll('p').attr('data-charpter'); lesson = $(this).prevAll('p').attr('data-lesson'); $.ajax({ @@ -364,4 +363,8 @@ $(function() { $('#bb-bookblock').append(fullppt); } } + + $("#btn_prepare").click(function() { + window.location.href = "PrepareClass.html"; + }); }); \ No newline at end of file diff --git a/cloud_lab/css/PrepareClass.css b/cloud_lab/css/PrepareClass.css index 7c2b84f..4e28a91 100644 --- a/cloud_lab/css/PrepareClass.css +++ b/cloud_lab/css/PrepareClass.css @@ -111,7 +111,7 @@ a,a:hover{ } .class-img{ float: left; - height: inherit; + height:160px; background-color: #4c4c4c; margin-right: 20px; position: relative; @@ -152,7 +152,7 @@ a,a:hover{ } h3.underline{ border-bottom: 1px solid #d5d5d5; - margin-left:170px; + margin-left: 170px; line-height: 1.5; } p.underline{ @@ -478,4 +478,4 @@ a.button-blue:hover{ left: 18px; width:0px; overflow: hidden; -} +} \ No newline at end of file diff --git a/cloud_lab/css/teacheronclass.css b/cloud_lab/css/teacheronclass.css index 5dfa6b5..b0bf154 100644 --- a/cloud_lab/css/teacheronclass.css +++ b/cloud_lab/css/teacheronclass.css @@ -197,7 +197,7 @@ body { overflow: hidden; } .nfullqa { - width: 100%; + width: 95%; height: 55%; } .qatitle { @@ -216,14 +216,6 @@ body { .bt_preclass { margin-left: 5px; margin-top: 5px; - position:relative; -} -.bt_preclass::before{ -background: url(../img/close.png); -width: 10px; -height: 10px; -position: absolute; -content: ""; } .bt_nextclass { margin-right: 5px; @@ -527,8 +519,4 @@ li.solving .qinfo-item-icon{ .qinfo-item-answer{ font-size: 15px; padding: 10px 20px; -} -.textadjust{ -height:40px; -overflow:srcoll; } \ No newline at end of file diff --git a/cloud_lab/index.html b/cloud_lab/index.html index 78d3656..ab29902 100644 --- a/cloud_lab/index.html +++ b/cloud_lab/index.html @@ -300,7 +300,7 @@

Here is something about us.

- + diff --git a/cloud_lab/js/PrepareClass.js b/cloud_lab/js/PrepareClass.js index d112002..64d290c 100644 --- a/cloud_lab/js/PrepareClass.js +++ b/cloud_lab/js/PrepareClass.js @@ -71,8 +71,4 @@ function prepare_class(){ $(document).on("click", "#btn_onclass", function() { window.location.href="TeacherOnClass.html"; }); - - $(document).on("click", "#btn_home", function() { - window.location.href="TeacherHomepage.html"; - }); } \ No newline at end of file diff --git a/cloud_lab/js/index.js b/cloud_lab/js/index.js index 27e4d5b..b082bc6 100644 --- a/cloud_lab/js/index.js +++ b/cloud_lab/js/index.js @@ -250,6 +250,17 @@ $(document).ready(function () { case 5: alert("邮箱错误"); break; + case 6: + alert("用户名已经被占用"); + break; + case 7: + alert("邮箱已经被占用"); + break; + case 8: + alert("该身份证已经被使用"); + break; + default: + alert("请检查注册信息"); } }, complete: function(XMLHttpRequest, textStatus){ diff --git a/cloud_lab/js/teacheronclass.js b/cloud_lab/js/teacheronclass.js index ce47f6e..07c93f4 100644 --- a/cloud_lab/js/teacheronclass.js +++ b/cloud_lab/js/teacheronclass.js @@ -181,18 +181,7 @@ $('.ppt_slide_content').css('height', sreenHeight+'px'); var pptheight1 = pptwidth1*3/4; $(".nfull_slide_content").css("width",pptwidth+"px"); $(".pptm").css("width",pptwidth+"px"); -var h3sheight=$('.textadjust').prop('scrollHeight'); -var h3height=$('.textadjust').height(); -if(h3sheight>h3height) -{ -var listlheight=$(".class-list-left").height()+h3sheight-h3height; -var listheight=$(".class-list").height()+h3sheight-h3height; -$('.textadjust').css("height",h3sheight+"px"); -$(".class-list-left").css("height",listlheight); -$(".class-list-right").css("height",listlheight); -$(".class-list").css("height",listheight); -$(".class-img").css("width",listlheight); -} + if(pptwidth1>pptwidth) { @@ -256,7 +245,4 @@ $(document).ready(function(){ $(document).on("click", "#btn_prepare", function() { window.location.href="PrepareClass.html"; }); - $(document).on("click", "#btn_home", function() { - window.location.href="TeacherHomepage.html"; - }); }) \ No newline at end of file diff --git a/cloud_lab/main/classofteacher.php b/cloud_lab/main/classofteacher.php index 55feda8..1b2a9ad 100644 --- a/cloud_lab/main/classofteacher.php +++ b/cloud_lab/main/classofteacher.php @@ -7,8 +7,6 @@ //当单独测试的时候本行需要使用,集成测试的时候注释掉 $_SESSION['USER_ID']='5'; $_SESSION['USER_TYPE']=2; - - ini_set("display_errors", "Off"); if(isset($_SESSION['USER_ID']))//判断用户是否已经已经登录 diff --git a/cloud_lab/main/config/dbconfig.php b/cloud_lab/main/config/dbconfig.php index 0cbf301..a7ddfab 100644 --- a/cloud_lab/main/config/dbconfig.php +++ b/cloud_lab/main/config/dbconfig.php @@ -2,7 +2,7 @@ define('host','localhost'); define('dbname','cloud_lab'); define('username','root'); -define('password',''); +define('password','root'); define('charset','utf-8'); define('tablePrefix','t_'); define('dbms','mysql'); diff --git a/cloud_lab/main/coursedetail.php b/cloud_lab/main/coursedetail.php index d9f50c9..b8638ae 100644 --- a/cloud_lab/main/coursedetail.php +++ b/cloud_lab/main/coursedetail.php @@ -5,8 +5,8 @@ @require_once('../main/models/coursedetailModel.php'); @require_once('../main/common/mysql_connect.php'); //当单独测试的时候本行需要使用,集成测试的时候注释掉 -$_SESSION['USER_ID']='5'; -$_SESSION['USER_TYPE']=2; +//$_SESSION['USER_ID']='5'; +//$_SESSION['USER_TYPE']=2; ini_set("display_errors", "Off"); if(isset($_SESSION['USER_ID']) )//判断用户是否已经已经登录 diff --git a/cloud_lab/main/models/coursedetailModel.php b/cloud_lab/main/models/coursedetailModel.php index 09400f6..48ed84c 100644 --- a/cloud_lab/main/models/coursedetailModel.php +++ b/cloud_lab/main/models/coursedetailModel.php @@ -1,30 +1,33 @@ 3,'charpter2'=>4) - */ -function getCourseDetail($classId) -{ - $charpter = null; - - $sql ="SELECT Detail.LESSON_SEQ AS lesson - FROM t_course_det Detail - WHERE Detail.COURSE_ID - =( - SELECT Class.COURSE_ID AS courseid - FROM t_class_info Class WHERE Class.CLASS_ID="."$classId"." limit 1) - ORDER BY Detail.CHARPTER_ID ASC"; - // echo $sql; - try { - $result = mysql_query($sql); - $charpter = array(); - while($row=mysql_fetch_array($result)){ - $charpter[]=(int)$row['lesson']; + /**本文件是通过classId返回课程详细信息的 + @author: + */ + /** + *@param $classId + *@return $array('charpter1'=>3,'charpter2'=>4) + */ + function getCourseDetail($classId) + { + $charpter = null; + + $sql ="SELECT Detail.LESSON_SEQ AS lesson + FROM t_course_det Detail + WHERE Detail.COURSE_ID + =( + SELECT Class.COURSE_ID AS courseid + FROM t_class_info Class WHERE Class.CLASS_ID="."$classId"." limit 1) + ORDER BY Detail.CHARPTER_ID ASC"; + // echo $sql; + try { + $result = mysql_query($sql); + $charpter = array(); + while($row=mysql_fetch_array($result)){ + $charpter[]=(int)$row['lesson']; + } + return $charpter; + } catch (Exception $e) { + var_dump($e->getTrace()); } - return $charpter; - } catch (Exception $e) { - var_dump($e->getTrace()); + } - -} ?> \ No newline at end of file diff --git a/cloud_lab/main/models/getClassInfoById.php b/cloud_lab/main/models/getClassInfoById.php index 9e70a46..64adc3d 100644 --- a/cloud_lab/main/models/getClassInfoById.php +++ b/cloud_lab/main/models/getClassInfoById.php @@ -1,9 +1,9 @@ getTrace()); } - //echo $sql; - $status = mysql_query($sql); - return $status; } @@ -95,7 +112,7 @@ function savePPTRemarkPreClass($classId,$charpter,$lesson,$pagenum,$remark) *@param $classid 当前课程的信息之班级 *@param $charpterId 当前课程的信息之章节 *@param $lessonId 当前课程的信息之课时 - *@return 问题以及答案 + *@return 问题:[1,2,3],答案:[1,2,3] *用来获得相应课程的作业问题以及参考答案 */ function getRelatedQuestions($classId,$charpter,$lesson) @@ -118,7 +135,51 @@ function getRelatedQuestions($classId,$charpter,$lesson) $ret['answer'] = $answer; return $ret; } - + /** + *@param $classid 当前课程的信息之班级 + *@param $charpterId 当前课程的信息之章节 + *@param $lessonId 当前课程的信息之课时 + *@return [{问题,答案},{问题,答案},{问题,答案}] + {"questions": + [ + {"question":"", "answer":""}, + {"question":"", "answer":""} + ] + } + *获取与本节课程相关的所以题目 + */ + function getAllQuestionOfLesson($classId,$charpterId,$lessonId) + { + $sql = + "SELECT TQuestion.QUESTION_CONTENT AS question , + TQuestion.ANSWER AS ans + FROM t_question_info TQuestion + WHERE TQuestion.QUESTION_ID + in + (SELECT TRel.QUESTION_ID + FROM t_question_lesson_rel TRel + WHERE TRel.COURSE_CHARPTER=$charpterId + AND TRel.LESSON_SEQ =$lessonId + AND TRel.COURSE_ID = + ( + SELECT Class.COURSE_ID + FROM t_class_info Class + WHERE CLASS_ID = $classId LImit 1 + ) + )"; + try { + $result = mysql_query($sql); + while($row = mysql_fetch_array($result)) + { + $temp["question"]= $row['question']; + $temp["answer"] = $row['ans']; + $query[] = $temp; + } + return $query; + } catch (Exception $e) { + + } + } /** *@param $classid 当前课程的信息之班级 *@param $charpterId 当前课程的信息之章节 @@ -137,9 +198,11 @@ function saveHomeworkList($classId,$charpterId,$lesson,$questionids,$deadline) AND LESSON_SEQ = $lesson)"; //echo $sql; mysql_query($sql); + $sql = "DELETE FROM t_homework_info WHERE CLASS_ID = $classId AND COURSE_CHARPTER = $charpterId AND LESSON_SEQ = $lesson"; mysql_query($sql); + $sql = "INSERT INTO t_homework_info (CLASS_ID,COURSE_CHARPTER,LESSON_SEQ,DEADLINE) VALUES ($classId,$charpterId,$lesson,'$deadline')"; mysql_query($sql); @@ -157,7 +220,7 @@ function saveHomeworkList($classId,$charpterId,$lesson,$questionids,$deadline) } - /** + /** *@param $classid 当前课程的信息之班级 *@param $charpterId 当前课程的信息之章节 *@param $lessonId 当前课程的信息之课时 @@ -167,6 +230,38 @@ function saveHomeworkList($classId,$charpterId,$lesson,$questionids,$deadline) */ function savePreparationPreClass($classId,$charpter,$lesson,$preparation) { + //判断保存remark的编码方式 + if(mb_detect_encoding($preparation)=='UTF-8') + { + $remark2 = iconv('UTF-8','gb2312//IGNORE',$remark); + }else{ + $remark2 = iconv(mb_detect_encoding($remark),'gb2312//IGNORE',$remark); + } + //查询是否已经有相应的备注了 + $sql = "SELECT Presentation.ID AS PresentationId FROM t_ppt_info Info,t_class_info Class + WHERE Class.CLASS_ID = "."$classId"." AND Class.COURSE_ID = Info.COURSE_ID AND Info.COURSE_CHARPTER = "."$charpter". + " AND Info.LESSON_SEQ = "."$lesson"; + try { + $result = mysql_query($sql); + if(mysql_num_rows($result)<1){//没有记录要新插入一条记录 + + $sql = "INSERT INTO t_ppt_remark (CLASS_ID,PPT_ID,PPT_PAGE_NUM,REMARK) + VALUES ($classId, $pptId, $pagenum, '$remark2')"; + } else{//有记录只要更新就行 + $sql = "UPDATE t_ppt_remark SET REMARK = "."'$remark2'". + " WHERE PPT_ID = "."$pptId"." AND CLASS_ID = "."$classId". + " AND PPT_PAGE_NUM = "."$pagenum"; + } + + try { + $status = mysql_query($sql); + return $status; + } catch (Exception $e) { + var_dump('Presatation 插入或者更新失败'); + } + } catch (Exception $e) { + var_dump($e->getTrace()); + } } ?> \ No newline at end of file diff --git a/cloud_lab/main/models/saveProgress.php b/cloud_lab/main/models/saveProgress.php index e48ca2b..69dfb1b 100644 --- a/cloud_lab/main/models/saveProgress.php +++ b/cloud_lab/main/models/saveProgress.php @@ -1,9 +1,11 @@ $result)); break; case 'courseDetail'://获取课程章节详细信息 @@ -39,56 +41,28 @@ $result = getSnapAndRemarkOfPPT($classId,$charpter,$lesson); echo json_encode($result); break; - case 'commitRemark': + case 'commitRemark'://提交ppt备注 $result = savePPTRemarkPreClass($classId,$charpter,$lesson,$_POST['pagenum'],$_POST['remark']); //echo $_POST['remark']; - echo json_encode(array('status'=>$result)); + if($result) + { + echo json_encode(array('status'=>'success')); + }else{ + echo json_encode(array('status'=>'failure')); + } break; case 'homeworklist': - $result = getRelatedQuestions($classId,$charpter,$lesson); + $result = getAllQuestionOfLesson($classId,$charpter,$lesson); echo json_encode(array('questions'=>$result)); break; case 'homework'://储存教师布置的作业 $result = saveHomeworkList($classId,$charpter,$lesson,$_POST['questionids'],$_POST['deadline']); - echo json_encode(array('status'=>$result)); - case 'next': - $next= getNext($classId,$charpter,$lesson); - $result = getSnapOfPPT($classId,$next['charpter'],$next['lesson']); - //返回请求结果 - echo json_encode($result); - break; - case 'prev': - $prev= getPrev($classId,$charpter,$lesson); - $result = getSnapOfPPT($classId,$prev['charpter'],$prev['lesson']); - //返回请求结果 - echo json_encode($result); - break; - case 'over'://下课,储存当前进度 - $status = saveProgress($classId,$charpter,$lesson); - $ret = array('status'=>$status); - echo json_encode($ret); - break; - case 'codeexample': - $result = getCodeExample($classId,$charpter,$lesson); - //返回请求结果 - echo json_encode($result); - break; - case 'video': - $result = getVideoUrl($classId,$charpter,$lesson); - //返回请求结果 - $videourl = array("url"=>$result); - echo json_encode($videourl); - break; - case 'homework': - $result = - getHomeworkOfLesson($classId,$charpter,$lesson); - //返回请求结果 - echo json_encode($result); - break; - case 'recbooks': - - echo 'recbook'; - break; + if($result) + { + echo json_encode(array('status'=>'success')); + }else{ + echo json_encode(array('status'=>'failure')); + } default: break; @@ -98,6 +72,27 @@ } catch (Exception $e) { echo json_encode($e->getTrace()); } +}elseif (isset($_SESSION['USER_ID']) && isset($_POST['preparation'])) { + //获取请求参数数据 + $classId = $_POST['classid']; + $charpter = $_POST['charpter']; + $lesson = $_POST['lesson']; + $preparation = $_POST['preparation']; + + try { + //创建数据库连接和选择数据库 + $mysql = new Mysql; + //调用API获取数据 + savePreparationPreClass($classId,$charpter,$lesson,$preparation); + //关闭数据库 + $mysql->close(); + //数据组装 + $charpter = array('status'=>"success"); + //返回请求结果 + echo json_encode($charpter); + } catch (Exception $e) { + echo json_encode($e->getTrace()); + } }else{ header("Location: http://localhost/cloud_lab/index.html"); } diff --git a/cloud_lab/main/preparehomework.php b/cloud_lab/main/preparehomework.php index 611a971..bf7b157 100644 --- a/cloud_lab/main/preparehomework.php +++ b/cloud_lab/main/preparehomework.php @@ -4,7 +4,7 @@ @require_once('../main/models/prepareHomeworkModel.php'); @require_once('../main/common/mysql_connect.php'); //当单独测试的时候本行需要使用,集成测试的时候注释掉 -$_SESSION['USER_ID']='12345'; +//$_SESSION['USER_ID']='12345'; //关闭自动输出error或者警告 ini_set("display_errors", "Off"); @@ -22,7 +22,6 @@ switch ($action) { case 'homework': $question = $_POST['questionid']; - TsaveAssignHomework($classId,$charpter,$lesson,$question); //数据组装 $pptStatu = array('status'=>"success"); diff --git a/cloud_lab/main/register.php b/cloud_lab/main/register.php index a9b21c2..e12bc3c 100644 --- a/cloud_lab/main/register.php +++ b/cloud_lab/main/register.php @@ -1,8 +1,10 @@ find($arr['USER_NAME'],'USER_NAME')) { - $state=6; }elseif($user->find($arr['EMAIL'],'EMAIL')) { diff --git a/cloud_lab/register.html b/cloud_lab/register.html index 3b2716b..3cef1b8 100644 --- a/cloud_lab/register.html +++ b/cloud_lab/register.html @@ -177,7 +177,8 @@

Here is something about us.

- + +
From 45db3b500858a11e4249b53303604c5c7c64eb8b Mon Sep 17 00:00:00 2001 From: cwlseu <523814299@qq.com> Date: Thu, 13 Feb 2014 20:01:28 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2\346\225\260\346\240\274\345\274\2172.xlsx" | Bin 0 -> 12284 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\345\217\202\346\225\260\346\240\274\345\274\2172.xlsx" diff --git "a/\345\217\202\346\225\260\346\240\274\345\274\2172.xlsx" "b/\345\217\202\346\225\260\346\240\274\345\274\2172.xlsx" new file mode 100644 index 0000000000000000000000000000000000000000..6945605499f516ed90a0cbc2bd14a7a6e2f096fe GIT binary patch literal 12284 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 Date: Thu, 13 Feb 2014 22:40:04 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=A4=87=E8=AF=BE=E5=92=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0ppt=E5=A4=87=E6=B3=A8=20Signed-off-by:=20cwlseu=20<523?= =?UTF-8?q?814299@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud_lab/main/config/dbconfig.php | 2 +- cloud_lab/main/models/prepareClassModel.php | 58 ++++++++++++++------- cloud_lab/main/prepareclass.php | 12 +++-- 3 files changed, 48 insertions(+), 24 deletions(-) diff --git a/cloud_lab/main/config/dbconfig.php b/cloud_lab/main/config/dbconfig.php index a7ddfab..0cbf301 100644 --- a/cloud_lab/main/config/dbconfig.php +++ b/cloud_lab/main/config/dbconfig.php @@ -2,7 +2,7 @@ define('host','localhost'); define('dbname','cloud_lab'); define('username','root'); -define('password','root'); +define('password',''); define('charset','utf-8'); define('tablePrefix','t_'); define('dbms','mysql'); diff --git a/cloud_lab/main/models/prepareClassModel.php b/cloud_lab/main/models/prepareClassModel.php index e468845..5459d2c 100644 --- a/cloud_lab/main/models/prepareClassModel.php +++ b/cloud_lab/main/models/prepareClassModel.php @@ -230,32 +230,49 @@ function saveHomeworkList($classId,$charpterId,$lesson,$questionids,$deadline) */ function savePreparationPreClass($classId,$charpter,$lesson,$preparation) { - //判断保存remark的编码方式 - if(mb_detect_encoding($preparation)=='UTF-8') - { - $remark2 = iconv('UTF-8','gb2312//IGNORE',$remark); - }else{ - $remark2 = iconv(mb_detect_encoding($remark),'gb2312//IGNORE',$remark); - } + $preparation = addslashes($preparation); + $sql = "SELECT Class.COURSE_ID AS courseId + FROM t_class_info Class + WHERE CLASS_ID = '$classId' + Limit 1"; + + $result = mysql_query($sql); + $courseId =''; + if(mysql_num_rows($result)<1) + { + var_dump("++++++++".mysql_num_rows($result)."++++++++"); + }else + { + $row = mysql_fetch_array($result); + $courseId = $row['courseId']; + //var_dump('courseId '.$courseId); + } //查询是否已经有相应的备注了 - $sql = "SELECT Presentation.ID AS PresentationId FROM t_ppt_info Info,t_class_info Class - WHERE Class.CLASS_ID = "."$classId"." AND Class.COURSE_ID = Info.COURSE_ID AND Info.COURSE_CHARPTER = "."$charpter". - " AND Info.LESSON_SEQ = "."$lesson"; - + $sql = "SELECT Presatation.PREPARATION_ID AS ID + FROM t_preparation Presatation + WHERE Presatation.COURSE_ID= '$courseId' + AND Presatation.COURSE_CHARPTER = '$charpter' + AND Presatation.LESSON_SEQ = '$lesson' + Limit 1"; + //echo "SELECT PREPARATION_ID: ".$sql."
"; try { $result = mysql_query($sql); + $formalsql=''; + //var_dump("SELECT PREPARATION_ID RESULT: ".$result."
"); if(mysql_num_rows($result)<1){//没有记录要新插入一条记录 - - $sql = "INSERT INTO t_ppt_remark (CLASS_ID,PPT_ID,PPT_PAGE_NUM,REMARK) - VALUES ($classId, $pptId, $pagenum, '$remark2')"; + $formalsql = "INSERT INTO t_preparation + (COURSE_ID,COURSE_CHARPTER,LESSON_SEQ,CONTENT) + VALUES ('$courseId', '$charpter', '$lesson', '$preparation')"; } else{//有记录只要更新就行 - $sql = "UPDATE t_ppt_remark SET REMARK = "."'$remark2'". - " WHERE PPT_ID = "."$pptId"." AND CLASS_ID = "."$classId". - " AND PPT_PAGE_NUM = "."$pagenum"; + $row = mysql_fetch_array($result); + $presatationid = $row['ID']; + $formalsql = "UPDATE t_preparation SET CONTENT ='$preparation' + WHERE PREPARATION_ID = $presatationid "; + //echo $formalsql; } - + mysql_free_result($result); try { - $status = mysql_query($sql); + $status = mysql_query($formalsql); return $status; } catch (Exception $e) { var_dump('Presatation 插入或者更新失败'); @@ -264,4 +281,5 @@ function savePreparationPreClass($classId,$charpter,$lesson,$preparation) var_dump($e->getTrace()); } } -?> \ No newline at end of file +?> + diff --git a/cloud_lab/main/prepareclass.php b/cloud_lab/main/prepareclass.php index e853899..ef6058f 100644 --- a/cloud_lab/main/prepareclass.php +++ b/cloud_lab/main/prepareclass.php @@ -10,7 +10,7 @@ } //当单独测试的时候本行需要使用,集成测试的时候注释掉 -//$_SESSION['USER_ID']='5'; +$_SESSION['USER_ID']='5'; //关闭自动输出error或者警告 ini_set("display_errors", "Off"); @@ -83,11 +83,17 @@ //创建数据库连接和选择数据库 $mysql = new Mysql; //调用API获取数据 - savePreparationPreClass($classId,$charpter,$lesson,$preparation); + $status = savePreparationPreClass($classId,$charpter,$lesson,$preparation); //关闭数据库 $mysql->close(); //数据组装 - $charpter = array('status'=>"success"); + if($status) + { + $charpter = array('status'=>"success"); + }else{ + $charpter = array('status'=>"failure"); + } + //返回请求结果 echo json_encode($charpter); } catch (Exception $e) { From 28700c7bb560b8f2f81c4500d79bd09da7f02d7e Mon Sep 17 00:00:00 2001 From: cwlseu <523814299@qq.com> Date: Thu, 13 Feb 2014 22:46:11 +0800 Subject: [PATCH 4/6] add table t_preration --- cloud_lab.sql | 500 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 500 insertions(+) create mode 100644 cloud_lab.sql diff --git a/cloud_lab.sql b/cloud_lab.sql new file mode 100644 index 0000000..3f07078 --- /dev/null +++ b/cloud_lab.sql @@ -0,0 +1,500 @@ +/* +Navicat MySQL Data Transfer + +Source Server : mysql +Source Server Version : 50610 +Source Host : localhost:3306 +Source Database : cloud_lab + +Target Server Type : MYSQL +Target Server Version : 50610 +File Encoding : 65001 + +Date: 2014-02-13 22:35:56 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `t_ask_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_ask_info`; +CREATE TABLE `t_ask_info` ( + `ASK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `PPT_ID` int(11) unsigned NOT NULL, + `PPT_URL` text COLLATE utf8_unicode_ci NOT NULL, + `CLASS_ID` int(11) unsigned NOT NULL, + `STUDENT_ID` int(11) unsigned NOT NULL, + `ASK_CONTENT` text COLLATE utf8_unicode_ci NOT NULL, + `ASK_ANSWER` text COLLATE utf8_unicode_ci, + `TOP1` double DEFAULT NULL, + `TOP2` double DEFAULT NULL, + `LEFT1` double DEFAULT NULL, + `LEFT2` double DEFAULT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`ASK_ID`), + KEY `PPT_ID` (`PPT_ID`), + KEY `CLASS_ID` (`CLASS_ID`), + KEY `STUDENT_ID` (`STUDENT_ID`), + CONSTRAINT `t_ask_info_ibfk_1` FOREIGN KEY (`PPT_ID`) REFERENCES `t_ppt_info` (`PPT_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_ask_info_ibfk_2` FOREIGN KEY (`CLASS_ID`) REFERENCES `t_class_info` (`CLASS_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_ask_info_ibfk_3` FOREIGN KEY (`STUDENT_ID`) REFERENCES `t_user_info` (`USER_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_ask_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `t_class_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_class_info`; +CREATE TABLE `t_class_info` ( + `CLASS_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `TEACHER_ID` int(10) unsigned DEFAULT NULL, + `COURSE_ID` int(10) unsigned NOT NULL, + `CLASS_NAME` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `CLASS_BEGIN` date NOT NULL, + `CLASS_END` date NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`CLASS_ID`), + KEY `t_class_info_ibfk_1` (`TEACHER_ID`), + KEY `COURSE_ID` (`COURSE_ID`), + CONSTRAINT `t_class_info_ibfk_1` FOREIGN KEY (`TEACHER_ID`) REFERENCES `t_user_info` (`USER_ID`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `t_class_info_ibfk_2` FOREIGN KEY (`COURSE_ID`) REFERENCES `t_course_info` (`COURSE_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_class_info +-- ---------------------------- +INSERT INTO `t_class_info` VALUES ('1', '5', '2', 'Gec DB course', '2013-12-09', '2014-01-04', '2014-01-09 23:18:06'); +INSERT INTO `t_class_info` VALUES ('2', '5', '1', 'HTML class 1', '2013-11-26', '2014-12-24', '2014-01-09 23:17:54'); + +-- ---------------------------- +-- Table structure for `t_class_user_rel` +-- ---------------------------- +DROP TABLE IF EXISTS `t_class_user_rel`; +CREATE TABLE `t_class_user_rel` ( + `CLASS_USER_REL_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `USER_ID` int(10) unsigned NOT NULL, + `CLASS_ID` int(10) unsigned NOT NULL, + `GRADE` int(10) unsigned NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`CLASS_USER_REL_ID`), + KEY `USER_ID` (`USER_ID`), + KEY `CLASS_ID` (`CLASS_ID`), + CONSTRAINT `t_class_user_rel_ibfk_1` FOREIGN KEY (`USER_ID`) REFERENCES `t_user_info` (`USER_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_class_user_rel_ibfk_2` FOREIGN KEY (`CLASS_ID`) REFERENCES `t_class_info` (`CLASS_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_class_user_rel +-- ---------------------------- +INSERT INTO `t_class_user_rel` VALUES ('4', '1', '1', '100', '2014-01-10 15:42:50'); +INSERT INTO `t_class_user_rel` VALUES ('5', '2', '1', '3', '2014-01-10 15:42:53'); +INSERT INTO `t_class_user_rel` VALUES ('6', '3', '1', '32', '2014-01-10 15:42:59'); +INSERT INTO `t_class_user_rel` VALUES ('7', '4', '2', '0', '2013-12-28 22:09:58'); +INSERT INTO `t_class_user_rel` VALUES ('8', '2', '2', '0', '2014-01-10 15:43:02'); +INSERT INTO `t_class_user_rel` VALUES ('9', '1', '2', '0', '2014-01-10 15:43:12'); +INSERT INTO `t_class_user_rel` VALUES ('11', '4', '1', '0', '2014-01-10 15:43:22'); + +-- ---------------------------- +-- Table structure for `t_course_det` +-- ---------------------------- +DROP TABLE IF EXISTS `t_course_det`; +CREATE TABLE `t_course_det` ( + `COURSE_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `CHARPTER_ID` tinyint(3) unsigned NOT NULL, + `LESSON_SEQ` tinyint(3) unsigned NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`COURSE_ID`,`CHARPTER_ID`,`LESSON_SEQ`), + CONSTRAINT `t_course_det_ibfk_1` FOREIGN KEY (`COURSE_ID`) REFERENCES `t_course_info` (`COURSE_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; + +-- ---------------------------- +-- Records of t_course_det +-- ---------------------------- +INSERT INTO `t_course_det` VALUES ('1', '1', '3', '2013-12-29 12:45:07'); +INSERT INTO `t_course_det` VALUES ('1', '2', '4', '0000-00-00 00:00:00'); +INSERT INTO `t_course_det` VALUES ('1', '3', '2', '0000-00-00 00:00:00'); +INSERT INTO `t_course_det` VALUES ('2', '1', '3', '0000-00-00 00:00:00'); +INSERT INTO `t_course_det` VALUES ('2', '2', '3', '0000-00-00 00:00:00'); +INSERT INTO `t_course_det` VALUES ('2', '3', '2', '2014-01-10 16:47:55'); +INSERT INTO `t_course_det` VALUES ('2', '4', '4', '0000-00-00 00:00:00'); +INSERT INTO `t_course_det` VALUES ('2', '5', '3', '2014-01-10 16:47:32'); + +-- ---------------------------- +-- Table structure for `t_course_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_course_info`; +CREATE TABLE `t_course_info` ( + `COURSE_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `COURSE_NAME` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `COURSE_IMAGE` text COLLATE utf8_unicode_ci, + `COURSE_DESC` text COLLATE utf8_unicode_ci, + `COURSE_NUM` tinyint(4) unsigned NOT NULL, + `CHARPTER_NUM` tinyint(4) unsigned NOT NULL, + `TRAIN_ID` int(10) unsigned DEFAULT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`COURSE_ID`), + KEY `t_course_info_ibfk_1` (`TRAIN_ID`), + CONSTRAINT `t_course_info_ibfk_1` FOREIGN KEY (`TRAIN_ID`) REFERENCES `t_train_info` (`TRAIN_ID`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_course_info +-- ---------------------------- +INSERT INTO `t_course_info` VALUES ('1', 'HTML5', '/image/course-html5.png', 'A very complicated course!', '100', '3', null, '2013-12-28 15:13:44'); +INSERT INTO `t_course_info` VALUES ('2', 'Principles of Database', '/image/course-database.png', 'Very interesting!', '120', '5', null, '2014-01-10 15:42:23'); + +-- ---------------------------- +-- Table structure for `t_homework_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_homework_info`; +CREATE TABLE `t_homework_info` ( + `HOMEWORK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `STUDENT_NUM` tinyint(3) unsigned DEFAULT '1' COMMENT 'maximum student number limitation for this homework', + `CLASS_ID` int(10) unsigned NOT NULL, + `COURSE_CHARPTER` int(10) unsigned NOT NULL, + `LESSON_SEQ` int(10) unsigned NOT NULL, + `DEADLINE` datetime NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`HOMEWORK_ID`), + KEY `CLASS_ID` (`CLASS_ID`), + CONSTRAINT `t_homework_info_ibfk_1` FOREIGN KEY (`CLASS_ID`) REFERENCES `t_class_info` (`CLASS_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_homework_info +-- ---------------------------- +INSERT INTO `t_homework_info` VALUES ('11', '1', '2', '1', '1', '2015-01-01 00:00:00', '2014-01-07 21:47:47'); + +-- ---------------------------- +-- Table structure for `t_homework_question_rel` +-- ---------------------------- +DROP TABLE IF EXISTS `t_homework_question_rel`; +CREATE TABLE `t_homework_question_rel` ( + `HOMEWORK_QUESTION_REL_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `HOMEWORK_ID` int(10) unsigned NOT NULL, + `QUESTION_ID` int(10) unsigned NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`HOMEWORK_QUESTION_REL_ID`), + KEY `HOMEWORK_ID` (`HOMEWORK_ID`), + KEY `QUESTION_ID` (`QUESTION_ID`), + CONSTRAINT `t_homework_question_rel_ibfk_1` FOREIGN KEY (`HOMEWORK_ID`) REFERENCES `t_homework_info` (`HOMEWORK_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_homework_question_rel_ibfk_2` FOREIGN KEY (`QUESTION_ID`) REFERENCES `t_question_info` (`QUESTION_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_homework_question_rel +-- ---------------------------- +INSERT INTO `t_homework_question_rel` VALUES ('5', '11', '2', '2014-01-07 21:47:47'); +INSERT INTO `t_homework_question_rel` VALUES ('6', '11', '3', '2014-01-07 21:47:47'); + +-- ---------------------------- +-- Table structure for `t_homework_response_rel` +-- ---------------------------- +DROP TABLE IF EXISTS `t_homework_response_rel`; +CREATE TABLE `t_homework_response_rel` ( + `HOMEWORK_RESPONSE_REL_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `HOMEWORK_ID` int(11) unsigned NOT NULL, + `QUESTION_ID` int(11) unsigned NOT NULL, + `STUDENT_ID` int(11) unsigned NOT NULL, + `ANSWER_CONTENT` text COLLATE utf8_unicode_ci NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`HOMEWORK_RESPONSE_REL_ID`), + KEY `HOMEWORK_ID` (`HOMEWORK_ID`), + KEY `QUESTION_ID` (`QUESTION_ID`), + KEY `STUDENT_ID` (`STUDENT_ID`), + CONSTRAINT `t_homework_response_rel_ibfk_1` FOREIGN KEY (`HOMEWORK_ID`) REFERENCES `t_homework_info` (`HOMEWORK_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_homework_response_rel_ibfk_2` FOREIGN KEY (`QUESTION_ID`) REFERENCES `t_question_info` (`QUESTION_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_homework_response_rel_ibfk_3` FOREIGN KEY (`STUDENT_ID`) REFERENCES `t_user_info` (`USER_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_homework_response_rel +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `t_ppt_det` +-- ---------------------------- +DROP TABLE IF EXISTS `t_ppt_det`; +CREATE TABLE `t_ppt_det` ( + `PPT_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `PPT_PAGE_NUM` int(10) unsigned NOT NULL, + `PIC_URL` text COLLATE utf8_unicode_ci NOT NULL, + `VIDEO_SECTION` int(10) unsigned DEFAULT NULL COMMENT 'Seconds from the beginning', + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`PPT_ID`,`PPT_PAGE_NUM`), + CONSTRAINT `t_ppt_det_ibfk_1` FOREIGN KEY (`PPT_ID`) REFERENCES `t_ppt_info` (`PPT_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_ppt_det +-- ---------------------------- +INSERT INTO `t_ppt_det` VALUES ('1', '1', '/image/HTML5/charpter1-01.PNG', '111', '2014-01-06 23:29:44'); +INSERT INTO `t_ppt_det` VALUES ('1', '2', '/image/HTML5/charpter1-02.PNG', '112', '2014-01-06 23:11:57'); +INSERT INTO `t_ppt_det` VALUES ('1', '3', '/image/HTML5/charpter1-03.PNG', '113', '2014-01-06 23:12:04'); +INSERT INTO `t_ppt_det` VALUES ('1', '4', '/image/HTML5/charpter1-04.PNG', '114', '2014-01-06 23:12:15'); +INSERT INTO `t_ppt_det` VALUES ('1', '5', '/image/HTML5/charpter1-05.PNG', '115', '2014-01-06 23:12:21'); +INSERT INTO `t_ppt_det` VALUES ('2', '1', '/image/HTML5/charpter1-01.PNG', '121', '2014-01-06 23:12:27'); +INSERT INTO `t_ppt_det` VALUES ('2', '2', '/image/HTML5/charpter1-02.PNG', '122', '2014-01-06 23:12:35'); +INSERT INTO `t_ppt_det` VALUES ('2', '3', '/image/HTML5/charpter1-03.PNG', '123', '2014-01-06 23:12:44'); +INSERT INTO `t_ppt_det` VALUES ('2', '4', '/image/HTML5/charpter1-04.PNG', '124', '2014-01-06 23:12:52'); +INSERT INTO `t_ppt_det` VALUES ('2', '5', '/image/HTML5/charpter1-05.PNG', '125', '2014-01-06 23:13:00'); +INSERT INTO `t_ppt_det` VALUES ('2', '6', '/image/HTML5/charpter1-01.PNG', '126', '2014-01-06 23:13:07'); +INSERT INTO `t_ppt_det` VALUES ('2', '7', '/image/HTML5/charpter1-02.PNG', '127', '2014-01-06 23:13:15'); +INSERT INTO `t_ppt_det` VALUES ('3', '1', '/image/HTML5/charpter1-03.PNG', '131', '2014-01-06 23:13:23'); +INSERT INTO `t_ppt_det` VALUES ('3', '2', '/image/HTML5/charpter1-04.PNG', '132', '2014-01-06 23:13:31'); +INSERT INTO `t_ppt_det` VALUES ('4', '1', '/image/PrinciplesOfDatabase/1-1-01.png', '0', '2014-01-10 14:13:58'); +INSERT INTO `t_ppt_det` VALUES ('4', '2', '/image/PrinciplesOfDatabase/1-1-02.png', '15', '2014-01-10 14:14:02'); +INSERT INTO `t_ppt_det` VALUES ('4', '3', '/image/PrinciplesOfDatabase/1-1-03.png', '440', '2014-01-10 14:14:07'); +INSERT INTO `t_ppt_det` VALUES ('4', '4', '/image/PrinciplesOfDatabase/1-1-04.png', '1041', '2014-01-10 14:14:09'); +INSERT INTO `t_ppt_det` VALUES ('4', '5', '/image/PrinciplesOfDatabase/1-1-05.png', '1733', '2014-01-10 14:14:13'); +INSERT INTO `t_ppt_det` VALUES ('5', '1', '/image/PrinciplesOfDatabase/1-1-01.png', '0', '2014-01-10 14:14:18'); +INSERT INTO `t_ppt_det` VALUES ('5', '2', '/image/PrinciplesOfDatabase/1-1-02.png', '15', '2014-01-10 14:14:21'); +INSERT INTO `t_ppt_det` VALUES ('5', '3', '/image/PrinciplesOfDatabase/1-1-03.png', '440', '2014-01-10 14:14:24'); +INSERT INTO `t_ppt_det` VALUES ('5', '4', '/image/PrinciplesOfDatabase/1-1-04.png', '1041', '2014-01-10 14:14:28'); +INSERT INTO `t_ppt_det` VALUES ('5', '5', '/image/PrinciplesOfDatabase/1-1-05.png', '1733', '2014-01-10 14:14:30'); +INSERT INTO `t_ppt_det` VALUES ('6', '1', '/image/PrinciplesOfDatabase/1-1-01.png', '0', '2014-01-10 14:14:35'); +INSERT INTO `t_ppt_det` VALUES ('6', '2', '/image/PrinciplesOfDatabase/1-1-02.png', '15', '2014-01-10 14:14:39'); +INSERT INTO `t_ppt_det` VALUES ('6', '3', '/image/PrinciplesOfDatabase/1-1-03.png', '440', '2014-01-10 14:14:47'); +INSERT INTO `t_ppt_det` VALUES ('6', '4', '/image/PrinciplesOfDatabase/1-1-04.png', '1041', '2014-01-10 14:14:55'); +INSERT INTO `t_ppt_det` VALUES ('6', '5', '/image/PrinciplesOfDatabase/1-1-06.png', '1733', '2014-01-10 14:15:01'); + +-- ---------------------------- +-- Table structure for `t_ppt_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_ppt_info`; +CREATE TABLE `t_ppt_info` ( + `PPT_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `COURSE_ID` int(10) unsigned NOT NULL, + `COURSE_CHARPTER` tinyint(4) unsigned NOT NULL, + `LESSON_SEQ` tinyint(4) unsigned NOT NULL, + `PDF_URL` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'url of course pdf corresponding the exact ppt', + `VIDEO_URL` text COLLATE utf8_unicode_ci COMMENT 'course video''s url', + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`PPT_ID`), + KEY `COURSE_ID` (`COURSE_ID`), + CONSTRAINT `t_ppt_info_ibfk_1` FOREIGN KEY (`COURSE_ID`) REFERENCES `t_course_info` (`COURSE_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT; + +-- ---------------------------- +-- Records of t_ppt_info +-- ---------------------------- +INSERT INTO `t_ppt_info` VALUES ('1', '1', '1', '1', 'as', '/video/PrinciplesOfDatabase/1-1.mp4', '2014-01-10 17:18:42'); +INSERT INTO `t_ppt_info` VALUES ('2', '1', '1', '2', 'as', '/video/PrinciplesOfDatabase/1-1.mp4', '2014-01-10 17:18:44'); +INSERT INTO `t_ppt_info` VALUES ('3', '1', '1', '3', '1232ss', '/video/PrinciplesOfDatabase/1-1.mp4', '2014-01-10 17:18:47'); +INSERT INTO `t_ppt_info` VALUES ('4', '2', '1', '1', '/pdf/PrinciplesOfDatabase/1-1.pdf', '/video/PrinciplesOfDatabase/1-1.mp4', '2014-01-10 14:13:26'); +INSERT INTO `t_ppt_info` VALUES ('5', '2', '1', '2', '/pdf/PrinciplesOfDatabase/1-1.pdf', '/video/PrinciplesOfDatabase/1-1.mp4', '2014-01-10 14:13:28'); +INSERT INTO `t_ppt_info` VALUES ('6', '2', '1', '3', '/pdf/PrinciplesOfDatabase/1-1.pdf', '/video/PrinciplesOfDatabase/1-1.mp4', '2014-01-10 14:13:38'); + +-- ---------------------------- +-- Table structure for `t_ppt_remark` +-- ---------------------------- +DROP TABLE IF EXISTS `t_ppt_remark`; +CREATE TABLE `t_ppt_remark` ( + `CLASS_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `PPT_ID` int(10) unsigned NOT NULL, + `PPT_PAGE_NUM` int(10) unsigned NOT NULL, + `REMARK` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`CLASS_ID`,`PPT_ID`,`PPT_PAGE_NUM`), + KEY `PPT_ID` (`PPT_ID`), + CONSTRAINT `t_ppt_remark_ibfk_1` FOREIGN KEY (`CLASS_ID`) REFERENCES `t_class_info` (`CLASS_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_ppt_remark_ibfk_2` FOREIGN KEY (`PPT_ID`) REFERENCES `t_ppt_info` (`PPT_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; + +-- ---------------------------- +-- Records of t_ppt_remark +-- ---------------------------- +INSERT INTO `t_ppt_remark` VALUES ('1', '4', '1', 'very good!', '2014-01-09 23:20:06'); +INSERT INTO `t_ppt_remark` VALUES ('1', '4', '2', '这是在测试¥,这是更改后的版333', '2014-02-13 22:34:40'); +INSERT INTO `t_ppt_remark` VALUES ('1', '4', '3', 'Xixi world!', '2014-01-09 23:19:54'); +INSERT INTO `t_ppt_remark` VALUES ('1', '4', '4', 'Haha world!', '2014-01-09 23:19:27'); +INSERT INTO `t_ppt_remark` VALUES ('1', '4', '5', 'undefined', '2014-02-13 13:50:25'); +INSERT INTO `t_ppt_remark` VALUES ('1', '4', '233', '这是在测试¥,这是更改后的版333', '2014-02-13 14:28:58'); +INSERT INTO `t_ppt_remark` VALUES ('2', '1', '4', '这是在测试¥,这是更改后的版333', '2014-02-13 22:35:07'); + +-- ---------------------------- +-- Table structure for `t_preparation` +-- ---------------------------- +DROP TABLE IF EXISTS `t_preparation`; +CREATE TABLE `t_preparation` ( + `PREPARATION_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `COURSE_ID` int(10) unsigned NOT NULL, + `COURSE_CHARPTER` tinyint(4) unsigned NOT NULL, + `LESSON_SEQ` tinyint(4) unsigned NOT NULL, + `CONTENT` varchar(255) NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`PREPARATION_ID`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_preparation +-- ---------------------------- +INSERT INTO `t_preparation` VALUES ('1', '2', '1', '1', '这22个是教案的,也就是说实在的教学', '2014-02-13 22:13:53'); +INSERT INTO `t_preparation` VALUES ('2', '1', '1', '1', '这22345个是教案的,也就是说实在的教学', '2014-02-13 22:19:54'); +INSERT INTO `t_preparation` VALUES ('3', '2', '2', '1', '教案的,也/()‘就是说实在的教学', '2014-02-13 22:23:37'); +INSERT INTO `t_preparation` VALUES ('4', '2', '2', '12', '教案的,也/()‘就是说实在的教学', '2014-02-13 22:23:52'); + +-- ---------------------------- +-- Table structure for `t_progress` +-- ---------------------------- +DROP TABLE IF EXISTS `t_progress`; +CREATE TABLE `t_progress` ( + `CLASS_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `PRE_CHARPTER_ID` tinyint(3) unsigned NOT NULL DEFAULT '1', + `PRE_LESSON_ID` tinyint(3) unsigned NOT NULL DEFAULT '0', + `ON_CHARPTER_ID` tinyint(3) unsigned NOT NULL DEFAULT '1', + `ON_LESSON_ID` tinyint(3) unsigned NOT NULL DEFAULT '0', + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`CLASS_ID`), + CONSTRAINT `t_progress_ibfk_1` FOREIGN KEY (`CLASS_ID`) REFERENCES `t_class_info` (`CLASS_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; + +-- ---------------------------- +-- Records of t_progress +-- ---------------------------- +INSERT INTO `t_progress` VALUES ('1', '1', '1', '1', '1', '2014-02-10 21:29:49'); +INSERT INTO `t_progress` VALUES ('2', '1', '1', '1', '1', '2014-02-10 21:29:50'); + +-- ---------------------------- +-- Table structure for `t_question_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_question_info`; +CREATE TABLE `t_question_info` ( + `QUESTION_ID` int(11) unsigned NOT NULL AUTO_INCREMENT, + `QUESTION_CONTENT` text COLLATE utf8_unicode_ci NOT NULL, + `ANSWER` text COLLATE utf8_unicode_ci NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`QUESTION_ID`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_question_info +-- ---------------------------- +INSERT INTO `t_question_info` VALUES ('1', '什么是事务?它有哪些属性?', '事务是用户定义的一个操作序列,这些操作要么全做要么全不做,事务是一个不可分割的工作单位。事务具有四个特性:原子性、一致性、隔离性和持续性。\r\n这个四个特性也简称为ACID特性。', '2014-01-10 16:27:10'); +INSERT INTO `t_question_info` VALUES ('2', '简述数据库的物理设计内容', '主要包括了以下工作:\r\n(1) 确定数据的存储结构,决定是否采用聚簇功能。\r\n(2)设计数据的存取路径,决定是否建立索引,建多少索引,在哪些列或多列上建索引等。 \r\n(3)确定数据的存放的物理位置,决定是否将经常存取部分和存取频率较低部分分开存放等。 \r\n(4)确定系统配置参数,根据DBMS产品提供了一些存储分配参数,数据库进行物理优化。\r\n(5) 评价物理结构, 估算各种方案的存储空间、存取时间和维护代价,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。', '2014-01-10 16:27:33'); +INSERT INTO `t_question_info` VALUES ('3', 'RDBMS在实现参照完整性时需要考虑哪些方面的问题,以及可以采取的策略?', '1)外码能否接受空值\r\n (2)删除被参照关系中的元组。这时可有三种不同的策略: \r\n . 级联删除:同时删除参照关系中相关元组; \r\n . 受限删除:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。 \r\n .置空值删除:删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。 \r\n( 3 ) 在参照关系中插入元组\r\n 当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略: \r\n .受限插入:不允许在参照关系中插入; \r\n .递归插入:同时在被参照关系中插入一个元组,其主码值为插入元组的外码值。', '2014-01-10 16:28:12'); +INSERT INTO `t_question_info` VALUES ('4', '简述预防死锁通常有两种方法。', '预防死锁通常有两种:一次封锁法和顺序封锁法。\r\n 一次封锁法:一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次封锁法虽然可以有效地防止死锁的发生,但每次要就将以后用到的全部数据加锁,从而降低了系统的并发度。\r\n 顺序封锁法:顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁', '2014-01-10 16:30:04'); + +-- ---------------------------- +-- Table structure for `t_question_lesson_rel` +-- ---------------------------- +DROP TABLE IF EXISTS `t_question_lesson_rel`; +CREATE TABLE `t_question_lesson_rel` ( + `QUESTION_LESSON_REL_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `QUESTION_ID` int(11) unsigned NOT NULL, + `COURSE_ID` int(11) unsigned NOT NULL, + `COURSE_CHARPTER` tinyint(4) NOT NULL, + `LESSON_SEQ` tinyint(4) NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`QUESTION_LESSON_REL_ID`), + KEY `COURSE_ID` (`COURSE_ID`), + KEY `QUESTION_ID` (`QUESTION_ID`), + CONSTRAINT `t_question_lesson_rel_ibfk_1` FOREIGN KEY (`COURSE_ID`) REFERENCES `t_course_info` (`COURSE_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_question_lesson_rel_ibfk_2` FOREIGN KEY (`QUESTION_ID`) REFERENCES `t_question_info` (`QUESTION_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_question_lesson_rel +-- ---------------------------- +INSERT INTO `t_question_lesson_rel` VALUES ('1', '1', '2', '1', '1', '2014-01-10 16:56:22'); +INSERT INTO `t_question_lesson_rel` VALUES ('2', '2', '2', '1', '1', '2014-01-10 16:56:23'); +INSERT INTO `t_question_lesson_rel` VALUES ('3', '3', '2', '1', '1', '2014-01-10 16:56:24'); +INSERT INTO `t_question_lesson_rel` VALUES ('4', '4', '2', '1', '1', '2014-01-10 16:56:29'); + +-- ---------------------------- +-- Table structure for `t_train_course_rel` +-- ---------------------------- +DROP TABLE IF EXISTS `t_train_course_rel`; +CREATE TABLE `t_train_course_rel` ( + `TRAIN_COURSE_REL_ID` int(11) unsigned NOT NULL AUTO_INCREMENT, + `TRAIN_ID` int(11) unsigned NOT NULL, + `COURSE_ID` int(11) unsigned NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`TRAIN_COURSE_REL_ID`), + KEY `TRAIN_ID` (`TRAIN_ID`), + KEY `COURSE_ID` (`COURSE_ID`), + CONSTRAINT `t_train_course_rel_ibfk_1` FOREIGN KEY (`TRAIN_ID`) REFERENCES `t_train_info` (`TRAIN_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_train_course_rel_ibfk_2` FOREIGN KEY (`COURSE_ID`) REFERENCES `t_course_info` (`COURSE_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_train_course_rel +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `t_train_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_train_info`; +CREATE TABLE `t_train_info` ( + `TRAIN_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `TRAIN_NAME` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `TRAIN_TYPE` tinyint(4) NOT NULL COMMENT '1 stands for the tiny one for a certain lesson, 2 stands for the big one corresponding to a course, 2 stands for a biggest one needed several courses', + `TRAIN_DESC` text COLLATE utf8_unicode_ci, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`TRAIN_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_train_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `t_train_lesson_rel` +-- ---------------------------- +DROP TABLE IF EXISTS `t_train_lesson_rel`; +CREATE TABLE `t_train_lesson_rel` ( + `TRAIN_LESSON_REL_ID` int(11) NOT NULL, + `COURSE_ID` int(11) unsigned NOT NULL, + `COURSE_CHARPTER` tinyint(4) NOT NULL, + `LESSON_SEQ` tinyint(4) NOT NULL, + `TRAIN_ID` int(11) unsigned NOT NULL, + `ENV_DESC` text COLLATE utf8_unicode_ci COMMENT 'the environment setup description for this lesson', + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`TRAIN_LESSON_REL_ID`), + KEY `COURSE_ID` (`COURSE_ID`), + KEY `TRAIN_ID` (`TRAIN_ID`), + CONSTRAINT `t_train_lesson_rel_ibfk_1` FOREIGN KEY (`COURSE_ID`) REFERENCES `t_course_info` (`COURSE_ID`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t_train_lesson_rel_ibfk_2` FOREIGN KEY (`TRAIN_ID`) REFERENCES `t_train_info` (`TRAIN_ID`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_train_lesson_rel +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `t_user_info` +-- ---------------------------- +DROP TABLE IF EXISTS `t_user_info`; +CREATE TABLE `t_user_info` ( + `USER_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, + `USER_NAME` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `PASSWORD` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `ID_TYPE` tinyint(4) NOT NULL COMMENT '1 stands for the personal identification', + `ID_VALUE` text COLLATE utf8_unicode_ci NOT NULL, + `USER_TYPE` tinyint(4) NOT NULL COMMENT '1 stands for teacher;2 stands for student', + `EMAIL` text COLLATE utf8_unicode_ci NOT NULL, + `BIRTHDAY` date NOT NULL, + `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'registeration time', + PRIMARY KEY (`USER_ID`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- ---------------------------- +-- Records of t_user_info +-- ---------------------------- +INSERT INTO `t_user_info` VALUES ('1', '蓝翔', '123', '1', '110119120', '2', 'xlan@seu.edu.cn', '1993-11-18', '2013-12-08 00:08:43'); +INSERT INTO `t_user_info` VALUES ('2', '张祥', '123', '1', '120', '1', 'xzhang@seu.edu.cn', '2013-12-24', '2013-12-08 00:11:21'); +INSERT INTO `t_user_info` VALUES ('3', 'Charles', ' e10adc3949ba59abbe56e057f20f883e', '1', ' 321027199311185417', '1', ' xlan@seu.edu.cn', '1993-11-18', '2013-12-17 22:55:49'); +INSERT INTO `t_user_info` VALUES ('4', ' lanxiang', ' e10adc3949ba59abbe56e057f20f883e', '1', ' 321027199311185417', '1', ' xiangxiang@seu.edu.cn', '1993-11-18', '2013-12-17 22:56:40'); +INSERT INTO `t_user_info` VALUES ('5', 'lx', '202cb962ac59075b964b07152d234b70', '1', '321027199311185000', '2', '3@1.com', '1993-11-18', '2013-12-28 10:12:58'); +INSERT INTO `t_user_info` VALUES ('6', 'lanxiang', 'c4ca4238a0b923820dcc509a6f75849b', '1', '321027188311185417', '1', 'xlan@seu.edu.cn', '1993-11-18', '2014-01-06 20:11:39'); +INSERT INTO `t_user_info` VALUES ('7', 'lanxiang2', 'c4ca4238a0b923820dcc509a6f75849b', '1', '321027188888888888', '1', 'xlan@seu.edu.cn', '1993-11-18', '2014-01-06 20:59:09'); +INSERT INTO `t_user_info` VALUES ('8', '123', '202cb962ac59075b964b07152d234b70', '1', '111111111111111111', '1', 'cwlseu@qq.com', '1991-11-11', '2014-02-12 11:35:01'); +INSERT INTO `t_user_info` VALUES ('9', '1', '202cb962ac59075b964b07152d234b70', '1', '123456789012345678', '1', '123@seu.edu.cn', '1992-11-11', '2014-02-12 11:43:07'); +INSERT INTO `t_user_info` VALUES ('10', '2', '202cb962ac59075b964b07152d234b70', '1', '123456789009876543', '2', '213110389@seu.edu.cn', '1976-12-12', '2014-02-12 11:44:41'); +INSERT INTO `t_user_info` VALUES ('11', 'laoliu', '202cb962ac59075b964b07152d234b70', '1', '098765432112345678', '2', 'laoliu@seu.edu.cn', '1970-03-12', '2014-02-12 11:46:21'); +INSERT INTO `t_user_info` VALUES ('12', 'laozhao', '202cb962ac59075b964b07152d234b70', '1', '374712345673433434', '2', '123@cwlseu.com', '1969-02-04', '2014-02-12 11:47:58'); +INSERT INTO `t_user_info` VALUES ('13', '1234', '202cb962ac59075b964b07152d234b70', '1', '123123123123123123', '1', 'cwlseu@11.com', '1992-11-11', '2014-02-12 20:04:43'); From 68386f9442ebaa13becd7b2eb00c852db8aa8806 Mon Sep 17 00:00:00 2001 From: cwlseu <523814299@qq.com> Date: Fri, 14 Feb 2014 14:29:29 +0800 Subject: [PATCH 5/6] nothing --- cloud_lab/TeacherOnClass.html | 6 +- cloud_lab/css/teacheronclass.css | 95 ++++++++++++++++++++++++++++++- cloud_lab/img/arrow-l.png | Bin 0 -> 3981 bytes cloud_lab/img/arrow-r.png | Bin 0 -> 3982 bytes 4 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 cloud_lab/img/arrow-l.png create mode 100644 cloud_lab/img/arrow-r.png diff --git a/cloud_lab/TeacherOnClass.html b/cloud_lab/TeacherOnClass.html index 1215e99..1a107aa 100644 --- a/cloud_lab/TeacherOnClass.html +++ b/cloud_lab/TeacherOnClass.html @@ -247,10 +247,10 @@

第三章

- +
- +
@@ -263,7 +263,7 @@

第三章

- +
diff --git a/cloud_lab/css/teacheronclass.css b/cloud_lab/css/teacheronclass.css index b0bf154..a1798be 100644 --- a/cloud_lab/css/teacheronclass.css +++ b/cloud_lab/css/teacheronclass.css @@ -197,7 +197,7 @@ body { overflow: hidden; } .nfullqa { - width: 95%; + width: 100%; height: 55%; } .qatitle { @@ -216,15 +216,90 @@ body { .bt_preclass { margin-left: 5px; margin-top: 5px; + position:relative; + width:30px; + height:30px; + background: url(../img/arrow-l.png); + border:none; + outline:none; + opacity:0.4; +} +.bt_preclass::before{ +background: url(../img/close.png); +width: 10px; +height: 10px; +position: absolute; +content: ""; +} +.bt_preclass:hover { + opacity:1; +} +.bt_preclass:hover::before{ +background: #000; +width: 50px; +height: 25px; +position: absolute; +color: #fff; +content: "上一节"; +border-radius: 5px; +left: 0px; +top: 35px; } .bt_nextclass { margin-right: 5px; margin-top: 5px; + position:relative; + width:30px; + height:30px; + background: url(../img/arrow-r.png); + border:none; + outline:none; + opacity:0.4; } #btn_over { margin-top: -40px; +.bt_nextclass:hover { + opacity:1; +} +.bt_nextclass:hover::before{ +background: #000; +width: 50px; +height: 25px; +position: absolute; +color: #fff; +content: "下一节"; +border-radius: 5px; +left: -20px; +top: 35px; +} +.btn_over { +-webkit-transition-property: all; + -webkit-transition-duration: 0.5s; + -webkit-transition-timing-function: ease-out, ease-in, linear, ease-in-out; + margin-top: -50px; margin-right: 60px; float: right; + width:50px; + height:50px; + position:relative; + background: url(../img/classover.png) no-repeat; + outline:none; + border:none; + opacity: 0.5; +} +.btn_over:hover{ + opacity:1; +} +.btn_over:hover::before{ +background: #2AA6DF; +width: 50px; +height: 25px; +position: absolute; +color: #fff; +content: "下课"; +border-radius: 5px; +left: -3px; +top: -30px; } .nfullnote .notearea { margin-top: 42px; @@ -304,7 +379,18 @@ body { } .bt_fullsreen { opacity: 0.5; +.bt_fullsreen:hover::before{ +background: #2AA6DF; +width: 50px; +height: 25px; +position: absolute; +color: #fff; +content: "全屏"; +border-radius: 5px; +left: -3px; +top: -30px; } + .ppt_content_full .bubble { width: 48px; height: 48px; @@ -314,10 +400,13 @@ body { } .bt_notfullsreen { background: url(../img/notfullscreen.png) no-repeat; + position:relative; } .bt_fullsreen { background: url(../img/fullscreen.png) no-repeat; margin-top: -50px; + position:relative; + opacity: 0.5; } .Pconf { width: 100%; @@ -519,4 +608,8 @@ li.solving .qinfo-item-icon{ .qinfo-item-answer{ font-size: 15px; padding: 10px 20px; +} +.textadjust{ +height:40px; +overflow:srcoll; } \ No newline at end of file diff --git a/cloud_lab/img/arrow-l.png b/cloud_lab/img/arrow-l.png new file mode 100644 index 0000000000000000000000000000000000000000..ece1874ec2bd8a699be85af643643442ddc1d0e0 GIT binary patch literal 3981 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 literal 0 HcmV?d00001 From 5f282ef5f6f36e01593502538c5e70cd8c883acd Mon Sep 17 00:00:00 2001 From: cwlseu <523814299@qq.com> Date: Fri, 14 Feb 2014 15:25:00 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud_lab/TeacherOnClass.html | 6 +- cloud_lab/css/teacheronclass.css | 95 +-------- cloud_lab/img/arrow-l.png | Bin 3981 -> 0 bytes cloud_lab/img/arrow-r.png | Bin 3982 -> 0 bytes cloud_lab/img/classover.png | Bin 3858 -> 0 bytes cloud_lab/main/config/config.php | 4 + cloud_lab/main/models/User.php.dump | 183 ------------------ cloud_lab/main/models/insertDataIntoDB.php | 71 ------- .../main/models/prepareHomeworkModel.php | 60 ------ cloud_lab/main/models/validateCode.php | 77 ++++++++ 10 files changed, 85 insertions(+), 411 deletions(-) delete mode 100644 cloud_lab/img/arrow-l.png delete mode 100644 cloud_lab/img/arrow-r.png delete mode 100644 cloud_lab/img/classover.png create mode 100644 cloud_lab/main/config/config.php delete mode 100644 cloud_lab/main/models/User.php.dump delete mode 100644 cloud_lab/main/models/insertDataIntoDB.php delete mode 100644 cloud_lab/main/models/prepareHomeworkModel.php create mode 100644 cloud_lab/main/models/validateCode.php diff --git a/cloud_lab/TeacherOnClass.html b/cloud_lab/TeacherOnClass.html index 1a107aa..1215e99 100644 --- a/cloud_lab/TeacherOnClass.html +++ b/cloud_lab/TeacherOnClass.html @@ -247,10 +247,10 @@

第三章

- +
- +
@@ -263,7 +263,7 @@

第三章

- +
diff --git a/cloud_lab/css/teacheronclass.css b/cloud_lab/css/teacheronclass.css index a1798be..b0bf154 100644 --- a/cloud_lab/css/teacheronclass.css +++ b/cloud_lab/css/teacheronclass.css @@ -197,7 +197,7 @@ body { overflow: hidden; } .nfullqa { - width: 100%; + width: 95%; height: 55%; } .qatitle { @@ -216,90 +216,15 @@ body { .bt_preclass { margin-left: 5px; margin-top: 5px; - position:relative; - width:30px; - height:30px; - background: url(../img/arrow-l.png); - border:none; - outline:none; - opacity:0.4; -} -.bt_preclass::before{ -background: url(../img/close.png); -width: 10px; -height: 10px; -position: absolute; -content: ""; -} -.bt_preclass:hover { - opacity:1; -} -.bt_preclass:hover::before{ -background: #000; -width: 50px; -height: 25px; -position: absolute; -color: #fff; -content: "上一节"; -border-radius: 5px; -left: 0px; -top: 35px; } .bt_nextclass { margin-right: 5px; margin-top: 5px; - position:relative; - width:30px; - height:30px; - background: url(../img/arrow-r.png); - border:none; - outline:none; - opacity:0.4; } #btn_over { margin-top: -40px; -.bt_nextclass:hover { - opacity:1; -} -.bt_nextclass:hover::before{ -background: #000; -width: 50px; -height: 25px; -position: absolute; -color: #fff; -content: "下一节"; -border-radius: 5px; -left: -20px; -top: 35px; -} -.btn_over { --webkit-transition-property: all; - -webkit-transition-duration: 0.5s; - -webkit-transition-timing-function: ease-out, ease-in, linear, ease-in-out; - margin-top: -50px; margin-right: 60px; float: right; - width:50px; - height:50px; - position:relative; - background: url(../img/classover.png) no-repeat; - outline:none; - border:none; - opacity: 0.5; -} -.btn_over:hover{ - opacity:1; -} -.btn_over:hover::before{ -background: #2AA6DF; -width: 50px; -height: 25px; -position: absolute; -color: #fff; -content: "下课"; -border-radius: 5px; -left: -3px; -top: -30px; } .nfullnote .notearea { margin-top: 42px; @@ -379,18 +304,7 @@ top: -30px; } .bt_fullsreen { opacity: 0.5; -.bt_fullsreen:hover::before{ -background: #2AA6DF; -width: 50px; -height: 25px; -position: absolute; -color: #fff; -content: "全屏"; -border-radius: 5px; -left: -3px; -top: -30px; } - .ppt_content_full .bubble { width: 48px; height: 48px; @@ -400,13 +314,10 @@ top: -30px; } .bt_notfullsreen { background: url(../img/notfullscreen.png) no-repeat; - position:relative; } .bt_fullsreen { background: url(../img/fullscreen.png) no-repeat; margin-top: -50px; - position:relative; - opacity: 0.5; } .Pconf { width: 100%; @@ -608,8 +519,4 @@ li.solving .qinfo-item-icon{ .qinfo-item-answer{ font-size: 15px; padding: 10px 20px; -} -.textadjust{ -height:40px; -overflow:srcoll; } \ No newline at end of file diff --git a/cloud_lab/img/arrow-l.png b/cloud_lab/img/arrow-l.png deleted file mode 100644 index ece1874ec2bd8a699be85af643643442ddc1d0e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3981 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 diff --git a/cloud_lab/img/classover.png b/cloud_lab/img/classover.png deleted file mode 100644 index 6ea02f54d512e3762eba39e51d20f618287e3305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3858 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 diff --git a/cloud_lab/main/config/config.php b/cloud_lab/main/config/config.php new file mode 100644 index 0000000..cd96c72 --- /dev/null +++ b/cloud_lab/main/config/config.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/cloud_lab/main/models/User.php.dump b/cloud_lab/main/models/User.php.dump deleted file mode 100644 index 84714a5..0000000 --- a/cloud_lab/main/models/User.php.dump +++ /dev/null @@ -1,183 +0,0 @@ - "SELECT * from t_user_info WHERE USER_NAME =", - 'EMAIL' => "SELECT USER_ID from t_user_info WHERE EMAIL =", - 'ID_VALUE' => "SELECT USER_ID from t_user_info WHERE ID_VALUE =", - 'USERNAME' => "SELECT USER_ID from t_user_info WHERE USER_NAME =" - ); - /** - *a instance of Mysql - */ - private $mysqlController; - - public function __construct() - { - $this->mysqlController=new Mysql; - } - /** - * @return string the associated database table name - */ - public function tableName() - { - return User::$tablename; - } - - //给密码进行md5加密 - public function encypt($pass) - { - return md5($pass); - } - /** - *@param $username - *@param $password - *@return true :该用户有权访问 反之为false - */ - public function hasRight($username,$password){ - $sql=$this->sql['USER'].'"'.trim($username).'" limit 1';//"$username" 是必要的 - $row = $this->mysqlController->query($sql); - if($row!=null && trim($row[0]['PASSWORD'])==$this->encypt($password)){ - // var_dump($row[0]); - return $row[0]; - - }else{ - return null; - } - } - /** - *@param arr= array('USER_NAME'=>'ss',..) - *@return true save success - */ - public function save($arr) - { - $arr = $this->beforeSave($arr); - if($arr!=false) - { - return $this->mysqlController->insert($this->tableName(),$arr); - }else{ - return false; - } - - } - /** - * This is invoked before the record is saved. - * @return boolean whether the record should be saved. - */ - public function beforeSave($arr) - { - if($this->rules($arr)) - { - $arr['ID_TYPE']=1; - $arr['USER_TYPE']=1; - $arr['PASSWORD']=$this->encypt($arr['PASSWORD']); - return $arr; - } - return false; - - } - /** - * 使用正则验证数据 - * @access public - * @param string $value 要验证的数据 - * @param string $rule 验证规则 - * @return boolean - */ - protected function regex($value,$rule) - { - $validate = array( - 'require' => '/.+/', - 'email' => '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', - 'integer' => '/^[-\+]?\d+$/', - 'date' => '/^\d{4}\-\d{1,2}-\d{1,2}$/', - 'idcard' => '/^\d{14}(\d{4}|(\d{3}[xX])|\d{1})$/' - ); - // 检查是否有内置的正则表达式 - if(isset($validate[strtolower($rule)])) - $rule = $validate[strtolower($rule)]; - return preg_match($rule,$value)===1; - } - /** - *@return true 验证数据成功否则false - */ - protected function rules($arr) - { - if(!regex($arr['USER_NAME'],'require')|| - !regex($arr['PASSWORD'],'require')|| - !regex($arr['EMAIL'],'require')) - { - return false; - } - elseif(!regex($arr['ID_VALUE'],'idcard')) - return false; - elseif(!regex($arr['BIRTHDAY'],'date')) - return false; - elseif(!regex($arr['EMAIL'],'email')) - return false; - elseif($this->find($arr['USER_NAME'])|| - $this->find($arr['EMAIL'],'EMAIL')|| - $this->find($arr['ID_VALUE'],'ID_VALUE')) - return false; - return true; - } - /** - *@param $key 属性名称 - *@param $value 属性值 - */ - public function find($value,$key='') - { - $querysql = ''; - - if($key==''||strtoupper(trim($key))==strtoupper('USER_NAME')) - { - $querysql=$this->sql['USERNAME'].$value; - }elseif(strtoupper(trim($key))==strtoupper('ID_VALUE')) - { - $querysql=$this->sql['ID_VALUE'].$value; - }elseif(strtoupper(trim($key))==strtoupper('EMAIL')) - { - $querysql=$this->sql['EMAIL'].$value; - } - else - { - $querysql = "select * from " . - $this->tableName(). - ' where '.$key.'="'.$value.'"'; - } - $row = $this->mysqlController->query($querysql); - if($row==null){ - return false; - }else{ - return true; - } - } - /** - * - */ -} -?> \ No newline at end of file diff --git a/cloud_lab/main/models/insertDataIntoDB.php b/cloud_lab/main/models/insertDataIntoDB.php deleted file mode 100644 index 6b3a168..0000000 --- a/cloud_lab/main/models/insertDataIntoDB.php +++ /dev/null @@ -1,71 +0,0 @@ -insert($table,$insertData); - - $mysql->close(); - } catch (Exception $e) { - //error_log($e->getTrace()); - } - } -} -/** - *@param $arr 要向pptinfo中插入的 数据 - * - */ -function insertPPTInfo($arr) -{ - $tablename = 't_ppt_info'; - $columns = array('COURSE_ID','COURSE_CHARPTER','LESSON_SEQ','PDF_URL','VIDEO_URL'); - if(count($arr) == count($columns)) - { - $insertData = array_combine($columns,$arr);//这是数组的PHP内置函数 ,函数括号中的前一个数组的值为新数组的索引,后一个参数的值为新数组的值 - //var_dump($insertData); - try { - $mysql = new Mysql; - $mysql->insert($table,$insertData); - $mysql->close(); - } catch (Exception $e) { - //error_log($e->getTrace()); - } - } -} - -function insertHomeworkInfo($arr) -{ - $tablename = 't_homework_info'; - $columns = array('STUDENT_NUM','COURSE_ID','DEADLINE'); - if(count($arr) == count($columns)) - { - $insertData = array_combine($columns,$arr);//这是数组的PHP内置函数 ,函数括号中的前一个数组的值为新数组的索引,后一个参数的值为新数组的值 - //var_dump($insertData); - try { - $mysql = new Mysql; - $mysql->insert($table,$insertData); - $mysql->close(); - } catch (Exception $e) { - //error_log($e->getTrace()); - } - } -} - -function insertQuestionInfo() -{ - $columns = array(); - $sql = "INSERT INTO t_question_info (QUESTION_CONTENT,ANSWER) VALUES ()"; -} -?> \ No newline at end of file diff --git a/cloud_lab/main/models/prepareHomeworkModel.php b/cloud_lab/main/models/prepareHomeworkModel.php deleted file mode 100644 index 2f41fad..0000000 --- a/cloud_lab/main/models/prepareHomeworkModel.php +++ /dev/null @@ -1,60 +0,0 @@ -getTrace()); - } - } - /** - *@param $classid 当前课程的信息之班级 - *@param $charpterId 当前课程的信息之章节 - *@param $lessonId 当前课程的信息之课时 - *@return 下一节课的信息 - *获取与本节课程相关的所以题目 - */ - function getAllQuestionOfLesson($classId,$charpterId,$lessonId) - { - $sql = - "SELECT TQuestion.QUESTION_CONTENT AS question , - TQuestion.ANSWER AS ans - FROM t_question_info TQuestion - WHERE TQuestion.QUESTION_ID - in - (SELECT TRel.QUESTION_ID - FROM t_question_lesson_rel TRel - WHERE TRel.COURSE_CHARPTER=$charpterId - AND TRel.LESSON_SEQ =$lessonId - AND TRel.COURSE_ID = - ( - SELECT Class.COURSE_ID - FROM t_class_info Class - WHERE CLASS_ID = $classId LImit 1 - ) - )"; - try { - $result = mysql_query($sql); - while($row = mysql_fetch_array($result)) - { - $temp["question"]= $row['question']; - $temp["answer"] = $row['ans']; - $query[] = $temp; - } - return $query; - } catch (Exception $e) { - - } - } -?> \ No newline at end of file diff --git a/cloud_lab/main/models/validateCode.php b/cloud_lab/main/models/validateCode.php new file mode 100644 index 0000000..201435a --- /dev/null +++ b/cloud_lab/main/models/validateCode.php @@ -0,0 +1,77 @@ + + **/ + +/** + *function:random + *@return 生成随机字符串 + *@ + */ +function random($num) +{ + $code=''; + for($i=0;$i<$num;$i++)//生成验证码 + { + switch(rand(0,2)) + { + case 0:$code[$i]=chr(rand(48,57));break;//数字 + case 1:$code[$i]=chr(rand(65,90));break;//大写字母 + case 2:$code[$i]=chr(rand(97,122));break;//小写字母 + } + } + if(!isset($_SESSION)){ + session_start(); + $_SESSION["captcha"]=implode('',$code); + }else{ + $_SESSION["captcha"]=implode('',$code); + } + + return $code; +} +/** + *function:createCode + *@param $num 字符串的个数 + *@param $width 图片宽度 + *@param $height 图片高度 + *@return 生成随机字符串 + *@ + */ +function createCode($num,$width,$height) +{ + $code = random($num); + $image=imagecreate($width,$height); + + imagecolorallocate($image,200,200,200); //背景颜色 + //生成干扰像素 + for($i=0;$i<80;$i++) + { + $dis_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255)); + imagesetpixel($image,rand(1,$width),rand(1,$height),$dis_color); + } + + //打印字符到图像 + for($i=0;$i<$num;$i++) + { + $char_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255)); + imagechar($image,30,($width/$num)*$i,rand(0,$height/$num*2),$code[$i],$char_color); + } + return $image; +} +function printCode() +{ + if(!isset($_SESSION)){ + session_start(); + } + $num=4;//验证码个数 + $width=100;//验证码宽度 + $height=40;//验证码高度 + $image = createCode($num,$width,$height); + header("Content-type:image/png"); + imagepng($image);//输出图像到浏览器 + imagedestroy($image);//释放资源 +} +printCode(); +?> \ No newline at end of file