zoukankan      html  css  js  c++  java
  • 基于Sql Server 2008的分布式数据库的实践(五)

    程序设计

    -----------------------------------------------------------------------------------------------------------------

    Index.php————选择界面,并且实现学生和老师的注册

    sql_ini.php————SQL配置文件

    ./student————学生的后台

    ./admin————老师的后台

    -----------------------------------------------------------------------------------------------------------------

    ./student

    cookie.php————cookie转跳文件

    index1.php————后台界面

    login.php————登录界面

    loginout.php————cookie注销处理

    main.php————主界面

    menu.php————后台菜单

    sclass.php————显示学生选课信息

    score.php-————显示学生成绩

    sinfo.php————显示学生资料

    sql_ini.php————SQL配置文件

    up.php————后台表单处理文件

    -----------------------------------------------------------------------------------------------------------------

    ./admin

    class.php————显示老师课程信息

    cookie.php————cookie转跳文件

    index1.php————后台界面

    info.php————显示老师资料(有权限设置)

    login.php————登录界面

    loginout.php————cookie注销处理

    main.php————主界面

    menu.php————后台菜单

    score.php-————登记学生成绩

    sql_ini.php————SQL配置文件

    up.php————后台表单处理文件

    程序解释

    学生注册

     1 if(isset($_POST['addstudent']))
     2 {
     3     //判断是否有空,即没有输入的
     4     if(($_POST['sname']=='')||($_POST['sex']=='')||($_POST['school']=='')||($_POST['scount']=='')||($_POST['spwd1']=='')||($_POST['spwd2']==''))
     5     {
     6         echo '请输全信息!';
     7         exit();
     8     }
     9     //把传递的数据赋值到变量里面
    10     $sname=$_POST['sname'];
    11     $sex=$_POST['sex'];
    12     $school=$_POST['school'];
    13     $scount=$_POST['scount'];
    14     $spwd1=$_POST['spwd1'];
    15     $spwd2=$_POST['spwd2'];
    16     $sid=rand(1,9999);//随机一个学号
    17     //判断两次密码是不是相同
    18     if($spwd1==$spwd2)
    19     {
    20         //SQL Server 对数据处理前的操作
    21         sql();
    22         //SQL语句
    23         $sql="select * from [V3].[dbo].[V3_student]";
    24         $result = mssql_query($sql);
    25         //从结果集中取得一行作为关联数组
    26         while ($row = mssql_fetch_array($result, MSSQL_ASSOC))
    27         {
    28             //二次判断是否登录帐号重复
    29             if($row['scount']==$scount)
    30             {
    31                 //报错并终止
    32                 echo ("已经有人申请了这个帐号!");
    33                 exit();        
    34             }
    35         }
    36         //SQL语句插入到视图里面
    37         $sql_add="INSERT INTO [V3].[dbo].[V3_student] ([sid],[sex],[sname],[school],[scount],[spwd]) 
    38                         VALUES (".$sid.",'".$sex."','".$sname."','".$school."','".$scount."','".$spwd1."')";
    39         $result_add = mssql_query($sql_add);
    40         //对SQL操作的结果的判断
    41         if($result_add)
    42             {echo "<center>注册成功!</center>";}
    43         else 
    44             {echo "sql出错!";}
    45     }
    46     else
    47     {
    48         //密码不相同报错并终止
    49         echo ("两次密码不对");
    50         exit();
    51     }
    52 }

    老师注册

     1 if(isset($_POST['addadmin']))
     2 {
     3     //判断是否有空,即没有输入的
     4     if(($_POST['name']=='')||($_POST['sex']=='')||($_POST['age']=='')||($_POST['count']=='')||($_POST['pwd']=='')||($_POST['pwd2']=='')||($_POST['ageage']=='')||($_POST['tel']=='')||($_POST['address']==''))
     5     {
     6         echo '请输全信息!';
     7         exit();
     8     }    
     9     //把传递的数据赋值到变量里面
    10     $tname=$_POST['name'];
    11     $tsex=$_POST['sex'];
    12     $tage=$_POST['age'];
    13     $tcount=$_POST['count'];
    14     $tpwd=$_POST['pwd'];
    15     $tpwd2=$_POST['pwd2'];
    16     $age=$_POST['ageage'];
    17     $tel=$_POST['tel'];
    18     $address=$_POST['address'];    
    19     $tsuper=1;
    20     $tidid=rand(1,9999);
    21     //判断两次密码是否相同
    22     if($tpwd==$tpwd2)
    23     {
    24         //SQL Server 对数据处理前的操作
    25         sql();
    26         //SQL语句
    27         $sql="select * from [V3].[dbo].[teacher]";
    28         $result = mssql_query($sql);
    29         //从结果集中取得一行作为关联数组
    30         while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) 
    31         {
    32             //二次判断是否登录帐号重复
    33             if($row['tcount']==$tcount)
    34             {
    35                 //报错并终止
    36                 echo ("已经有人申请了这个帐号!");
    37                 exit();                
    38             }
    39         }
    40         $sql_add="EXEC [V3].[dbo].[V3_teacher] ".$tidid.",'".$tname."', '".$tage."', '".$tsex."', '".$tcount."', '".$tpwd."', '".$tsuper."','".$age."','".$tel."','".$address."'";
    41         $result_add = mssql_query($sql_add);
    42         if($result_add)
    43             {echo "<center>注册成功!</center>";}
    44         else 
    45             {echo "sql出错!";}    
    46     }
    47     else
    48     {
    49         //报错并终止
    50         echo ("两次密码不对");
    51         exit();
    52     }
    53 }

    学生登录和查看资料

     1 //cookie传递id
     2     $sid=$_COOKIE['uid'];
     3     sql();
     4     //SQL 语句
     5     $query = "SELECT * FROM [V3].[dbo].[V3_student] where [sid]=".$sid."";
     6     $result = mssql_query($query);
     7     //取得这个表有多少列
     8     $db_t_num=mssql_num_fields($result);
     9     //保存字段中文含义
    10     $arrname[0]='学号';
    11     $arrname[1]='姓名';
    12     $arrname[2]='学院';
    13     $arrname[3]='帐号';
    14     $arrname[4]='密码';
    15     /*******************
    16             HTML表格输出
    17     *******************/
    18     echo "<table border='1' >
    ";
    19     echo "	<tr>
    ";
    20     for($num=0;$num<$db_t_num;$num++)
    21     {
    22         //输出字段中文含义
    23         echo "		<td>".$arrname[$num]."</td>
    ";
    24     }
    25     echo "	</tr>
    ";
    26     while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) 
    27     { 
    28         //输出内容
    29       echo "	<tr>
    ";
    30             echo '<td>'.$row["sid"].'</td>';
    31             echo '<td>'.$row["sname"].'</td>';
    32             echo '<td>'.$row["school"].'</td>';
    33             echo '<td>'.$row["scount"].'</td>';
    34             echo '<td>******</td>';//隐藏的写法
    35         echo "	</tr>
    ";
    36     }
    37     echo "</table>
    ";    
    38     //释放SQL链接
    39     mssql_free_result($result);

    学生选课

     1 //GET得到是选课操作
     2 if($_GET['action']=='do')
     3 {
     4     //cookie传递sid
     5     $id=$_COOKIE["uid"];
     6     sql();
     7     //sid选了什么课,使check打上勾
     8     $sql_do="SELECT * FROM [V3].[dbo].[class] where [sid]=".$id."";
     9     $result_do = mssql_query($sql_do);
    10     $ii=0;//保存学生所选的课
    11     while ($row = mssql_fetch_array($result_do, MSSQL_ASSOC)) 
    12     {
    13         $s_cid_do[$ii]=$row['cid'];
    14         $ii++;
    15     }     
    16     
    17     //SQL语句通过默认学生sid=0取得课名cname和课号cid和老师tid
    18     $sql_class="SELECT * FROM [V3].[dbo].[class] where [sid] = 0";
    19     $result_class = mssql_query($sql_class);    
    20     $i=0;//保存有多少行
    21     while ($row = mssql_fetch_array($result_class, MSSQL_ASSOC)) 
    22     {
    23         $class_tid[$i]=$row['tid'];
    24         $class_cid[$i]=$row['cid'];
    25         $class_name[$i]=$row['cname'];
    26         $i++;
    27     }
    28     //SQL语句通过tid取得老师名字,教学年龄和性别
    29     for($a=0;$a<$i;$a++)
    30     {
    31         $sql_t[$a]="SELECT * FROM [V3].[dbo].[teacher] where [tid]=".$class_tid[$a]."";
    32         $result_t[$a]= mssql_query($sql_t[$a]);
    33         while ($class_t = mssql_fetch_array($result_t[$a], MSSQL_ASSOC)) 
    34         {
    35             $class_tsex[$a]=$class_t['tsex'];
    36             $class_tage[$a]=$class_t['tage'];
    37             $class_tname[$a]=$class_t['tname'];
    38         }     
    39     }
    40     //保存字段中文含义
    41     $arrname[0]='课号';
    42     $arrname[1]='课名';
    43     $arrname[2]='老师名字';
    44     $arrname[3]='老师编号';
    45     $arrname[4]='老师教学年龄';
    46     $arrname[5]='老师性别';
    47     $arrname[6]='选课';
    48     /*******************
    49             HTML表格输出
    50     *******************/
    51     echo '<form action="up.php" method="POST">';
    52     echo "<table border='1' >
    ";
    53     echo "	<tr><td colspan='7' align='center'>选课系统</td></tr>
    ";
    54     echo "	<tr>
    ";
    55     echo "	<tr>
    ";
    56     //有6列
    57     for($num=0;$num<7;$num++)
    58     {
    59         echo "		<td>".$arrname[$num]."</td>
    ";
    60     }
    61     for($a=0;$a<$i;$a++)
    62     {
    63         //check初始化
    64         $check = '';
    65         //判断是男是女
    66         if($class_tsex[$a]=='0')
    67                 $class_tsex[$a]='男';
    68         else
    69                 $class_tsex[$a]='女';
    70         //判断选了这门课
    71         for($b=0;$b<$ii;$b++)
    72         {
    73             if($class_cid[$a]==$s_cid_do[$b])
    74             {
    75                 $check = 'checked';
    76             }
    77         }
    78         echo "	<tr>
    ";
    79             echo '<td>'.$class_cid[$a].'</td>';
    80             echo '<td>'.$class_name[$a].'</td>';
    81             echo '<td>'.$class_tname[$a].'</td>';
    82             echo '<td>'.$class_tid[$a].'</td>';
    83             echo '<td>'.$class_tage[$a].'</td>';
    84             echo '<td>'.$class_tsex[$a].'</td>';
    85             echo '<td><input type="checkbox" name=pa_'.$class_cid[$a].' '.$check.'></td>';//name=pa_'.$class_cid[$a]这样写是为了出现BUG
    86         echo "	</tr>
    ";
    87     }
    88     echo "	<tr><td colspan='7' align='center'><input type='submit' name='sub' value='确认课程'></td></tr>
    ";
    89     echo "</table>
    ";
    90     echo "</form>";
    91 }

    学生退课

     1 //GET传递操作,为退课操作
     2 if($_GET['action']=='mine')
     3 {
     4     //cookie传递sid
     5     $id=$_COOKIE["uid"];
     6     sql();
     7     //SQL语句通过学号sid取得课号cid和tid和课名
     8     $sql_s="SELECT * FROM [V3].[dbo].[class] where [sid]=".$id."";
     9     $result_s = mssql_query($sql_s);
    10     $i=0;//保存有多少行
    11     while ($row = mssql_fetch_array($result_s, MSSQL_ASSOC)) 
    12     {
    13         $s_cid[$i]=$row['cid'];
    14         $s_cname[$i]=$row['cname'];
    15         $s_tid[$i]=$row['tid'];
    16         $i++;
    17     }     
    18     //SQL语句通过tid得到上课的老师名字以及教学年龄和性别
    19     for($a=0;$a<$i;$a++)
    20     {
    21         $sql_s_t[$a]="SELECT * from [V3].[dbo].[teacher] where [tid]=".$s_tid[$a]."";
    22         $result_s_t[$a] = mssql_query($sql_s_t[$a]);
    23         while ($s_t = mssql_fetch_array($result_s_t[$a], MSSQL_ASSOC)) 
    24         {
    25             $s_tsex[$a]=$s_t['tsex'];
    26             $s_tage[$a]=$s_t['tage'];
    27             $s_tname[$a]=$s_t['tname'];
    28         }     
    29     }
    30     //保存字段中文含义
    31     $arrname[0]='课号';
    32     $arrname[1]='课名';
    33     $arrname[2]='老师名字';
    34     $arrname[3]='老师编号';
    35     $arrname[4]='老师教学年龄';
    36     $arrname[5]='老师性别';
    37     $arrname[6]='退课';
    38     /*******************
    39             HTML表格输出
    40     *******************/
    41     echo '<form action="up.php" method="POST">';
    42     echo "<table border='1' >
    ";
    43     echo "	<tr><td colspan='7' align='center'>我选上的课</td></tr>
    ";
    44     echo "	<tr>
    ";
    45     echo "	<tr>
    ";
    46     //有7列
    47     for($num=0;$num<7;$num++)
    48     {
    49         echo "		<td>".$arrname[$num]."</td>
    ";
    50     }
    51     echo "	</tr>
    ";
    52     for($a=0;$a<$i;$a++)
    53     {
    54         //判断是男是女
    55         if($s_tsex[$a]=='0')
    56                 $s_tsex[$a]='男';
    57         else
    58                 $s_tsex[$a]='女';
    59         echo "	<tr>
    ";
    60             echo '<td>'.$s_cid[$a].'</td>';
    61             echo '<td>'.$s_cname[$a].'</td>';
    62             echo '<td>'.$s_tname[$a].'</td>';
    63             echo '<td>'.$s_tid[$a].'</td>';
    64             echo '<td>'.$s_tage[$a].'</td>';
    65             echo '<td>'.$s_tsex[$a].'</td>';
    66             echo '<td><input type="checkbox" name="ma_'.$s_cid[$a].'" ></td></td>';
    67         echo "	</tr>
    ";
    68     }
    69     echo "	<tr><td colspan='7' align='center'><input type='submit' name='delsub' value='确认退课'></td></tr>
    ";
    70     echo "</table>
    ";
    71     echo "</form>";
    72 }

    学生查看成绩

     1 //通过cookie得到sid
     2     $id=$_COOKIE['uid'];
     3     sql();
     4     //SQL语句通过学号sid取得课号cid和tid和课名
     5     $sql_s="SELECT * FROM [V3].[dbo].[class] where [sid]=".$id."";
     6     $result_s = mssql_query($sql_s);
     7     $i=0;//保存有多少行
     8     while ($row = mssql_fetch_array($result_s, MSSQL_ASSOC)) 
     9     {
    10         $s_cid[$i]=$row['cid'];
    11         $s_cname[$i]=$row['cname'];
    12         $s_tid[$i]=$row['tid'];
    13         $s_score[$i]=$row['score'];        
    14         $i++;
    15     }
    16     //SQL语句通过tid得到上课的老师名字以及教学年龄和性别
    17     for($a=0;$a<$i;$a++)
    18     {
    19         $sql_s_t[$a]="SELECT * from [V3].[dbo].[teacher] where [tid]=".$s_tid[$a]."";
    20         $result_s_t[$a] = mssql_query($sql_s_t[$a]);
    21         while ($s_t = mssql_fetch_array($result_s_t[$a], MSSQL_ASSOC)) 
    22         {
    23             $s_tsex[$a]=$s_t['tsex'];
    24             $s_tage[$a]=$s_t['tage'];
    25             $s_tname[$a]=$s_t['tname'];
    26         }     
    27     }
    28     //保存字段中文含义
    29     $arrname[0]='课号';
    30     $arrname[1]='课名';
    31     $arrname[2]='老师名字';
    32     $arrname[3]='老师编号';
    33     $arrname[4]='老师教学年龄';
    34     $arrname[5]='老师性别';
    35     $arrname[6]='分数';     
    36         /*******************
    37             HTML表格输出
    38     *******************/
    39     echo "<table border='1' >
    ";
    40     echo "	<tr><td colspan='7' align='center'>我选上的课</td></tr>
    ";
    41     echo "	<tr>
    ";
    42     echo "	<tr>
    ";
    43     //有7列
    44     for($num=0;$num<7;$num++)
    45     {
    46         echo "		<td>".$arrname[$num]."</td>
    ";
    47     }
    48     echo "	</tr>
    ";
    49     for($a=0;$a<$i;$a++)
    50     {
    51         if($s_tsex[$a]=='0')
    52                 $s_tsex[$a]='男';
    53         else
    54                 $s_tsex[$a]='女';
    55         //判断是否上成绩,若为999,则是没有上成绩
    56         if($s_score[$a]=='999')
    57         {
    58             $s_score[$a]='未上成绩';
    59         }
    60         echo "	<tr>
    ";
    61             echo '<td>'.$s_cid[$a].'</td>';
    62             echo '<td>'.$s_cname[$a].'</td>';
    63             echo '<td>'.$s_tname[$a].'</td>';
    64             echo '<td>'.$s_tid[$a].'</td>';
    65             echo '<td>'.$s_tage[$a].'</td>';
    66             echo '<td>'.$s_tsex[$a].'</td>';
    67             echo '<td>'.$s_score[$a].'</td>';
    68             
    69         echo "	</tr>
    ";
    70     }
    71     echo "</table>
    ";

    老师登录和查看所有资料(权限限制)

     1 //GET传递信息,显示所以老师(权限限制)
     2 if($_GET['people']=='all')
     3 {
     4     if($_COOKIE["super"]=='10')
     5     {
     6         sql();
     7         //SQL 语句
     8         $query = "SELECT * FROM [V3].[dbo].[teacher]";
     9         $result = mssql_query($query);
    10     
    11         /*******************
    12                 HTML表格输出
    13         *******************/
    14         echo "<table border='1' >
    ";
    15         //取得结果集中字段的数目
    16         $db_t_num=mssql_num_fields($result);
    17         //保存字段中文含义
    18         $arrname[0]='编号';
    19         $arrname[1]='姓名';
    20         $arrname[2]='教学年龄';
    21         $arrname[3]='性别';
    22         $arrname[4]='登录帐号';
    23         $arrname[5]='登录密码';
    24         $arrname[6]='管理权限';
    25         
    26         echo "	<tr>
    ";
    27         for($num=0;$num<$db_t_num;$num++)
    28         {
    29             echo "		<td>".$arrname[$num]."</td>
    ";
    30         }
    31         echo "	</tr>
    ";
    32         //从结果集中取得一行作为关联数组
    33         while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) 
    34         { 
    35             //判断之后显示男女中文
    36             if($row["tsex"]=='0')
    37                 $row["tsex"]='男';
    38             else
    39                 $row["tsex"]='女';
    40             //判断是不是超级管理员
    41             if($row["tsuper"]=='10')
    42                 $row["tsuper"]='超级老师管理员';
    43             else
    44                 $row["tsuper"]='普通老师管理员';
    45             
    46                 //输出内容
    47             echo "	<tr>
    ";
    48                     echo '<td>'.$row["tid"].'</td>';
    49                     echo '<td>'.$row["tname"].'</td>';
    50                     echo '<td>'.$row["tage"].'</td>';
    51                     echo '<td>'.$row["tsex"].'</td>';
    52                     echo '<td>'.$row["tcount"].'</td>';
    53                     echo '<td>******</td>';//隐藏的写法
    54                     echo '<td>'.$row["tsuper"].'</td>';
    55             echo "	</tr>
    ";
    56         }    
    57         echo "</table>
    ";
    58         
    59         //释放SQL链接
    60         mssql_free_result($result);
    61     }
    62     else
    63     {
    64         echo "没有权限查看!";
    65     }
    66 }

    老师查看资料

     1 //GET传递信息,显示自己信息
     2 if($_GET['people']=='me')
     3 {
     4     //cookie传输tid
     5     $id=$_COOKIE["uid"];
     6     //SQL 语句
     7     $query = "SELECT * FROM [V3].[dbo].[teacher] where tid=".$id."";
     8     $result = mssql_query($query);
     9     /*******************
    10             HTML表格输出
    11     *******************/
    12     echo "<table border='1' >
    ";
    13     //取得结果集中字段的数目
    14     $db_t_num=mssql_num_fields($result);
    15     //保存字段中文含义
    16     $arrname[0]='编号';
    17     $arrname[1]='姓名';
    18     $arrname[2]='教学年龄';
    19     $arrname[3]='性别';
    20     $arrname[4]='登录帐号';
    21     $arrname[5]='登录密码';
    22     $arrname[6]='管理权限';
    23     
    24     echo "	<tr>
    ";
    25     for($num=0;$num<$db_t_num;$num++)
    26     {
    27         echo "		<td>".$arrname[$num]."</td>
    ";
    28     }
    29     echo "	</tr>
    ";
    30     while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) 
    31     { 
    32         //判断之后显示男女中文
    33         if($row["tsex"]=='0')
    34                 $row["tsex"]='男';
    35             else
    36                 $row["tsex"]='女';
    37             //判断是不是超级管理员
    38             if($row["tsuper"]=='10')
    39                 $row["tsuper"]='超级老师管理员';
    40             else
    41                 $row["tsuper"]='普通老师管理员';
    42             
    43                 //输出内容
    44             echo "	<tr>
    ";
    45                     echo '<td>'.$row["tid"].'</td>';
    46                     echo '<td>'.$row["tname"].'</td>';
    47                     echo '<td>'.$row["tage"].'</td>';
    48                     echo '<td>'.$row["tsex"].'</td>';
    49                     echo '<td>'.$row["tcount"].'</td>';
    50                     echo '<td>******</td>';//隐藏的写法
    51                     echo '<td>'.$row["tsuper"].'</td>';
    52             echo "	</tr>
    ";
    53     }
    54     echo "</table>
    ";
    55     
    56     //释放SQL链接
    57         mssql_free_result($result);
    58 }

    老师添加老师(权限限制)

     1 //POST传递信息
     2 if(isset($_POST['addsub']))
     3 {
     4     //把传递的信息传到变量里面
     5     $tname=$_POST['name'];
     6     $tsex=$_POST['sex'];
     7     $tage=$_POST['age'];
     8     $tcount=$_POST['count'];
     9     $tpwd=$_POST['pwd'];
    10     $tpwd2=$_POST['pwd2'];
    11     $tsuper=$_POST['super'];
    12     $tidid=$_POST['idid'];
    13     $age=$_POST['ageage'];
    14     $tel=$_POST['tel'];
    15     $address=$_POST['address'];        
    16     //判断两次密码是否相同
    17     if($tpwd==$tpwd2)
    18     {
    19         sql();
    20         //SQL语句
    21         $sql="select * from [V3].[dbo].[teacher]";
    22         $result = mssql_query($sql);
    23         //从结果集中取得一行作为关联数组
    24         while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) 
    25         {
    26             //二次判断是否登录帐号重复
    27             if($row['tcount']==$tcount)
    28             {
    29                 //报错并终止
    30                 echo ("已经有人申请了这个帐号!");
    31                 exit();                
    32             }
    33         }
    34         //执行SQL语句插入
    35         $sql_add="EXEC [V3].[dbo].[V3_teacher] ".$tidid.",'".$tname."', '".$tage."', '".$tsex."', '".$tcount."', '".$tpwd."', '".$tsuper."','".$age."','".$tel."','".$address."'";
    36         $result_add = mssql_query($sql_add);
    37         if($result_add)
    38             {echo "添加成功!";}
    39         else 
    40             {echo "sql出错!";}    
    41     }
    42     else
    43     {
    44         //报错并终止
    45         echo ("两次密码不对");
    46         exit();
    47     }
    48 }

    老师删减老师(权限限制)

     1 //POST传递信息
     2 if(isset($_POST['delsub']))
     3 {
     4     sql();
     5     $tid=$_POST['id'];
     6     $sql="DELETE FROM [V3].[dbo].[teacher] where [tid]=".$tid."";
     7     $result = mssql_query($sql);
     8     if($result)
     9         {echo "删除成功";}
    10     else
    11         {echo "SQL出错!";}
    12 }

    老师添加课程

     1 //POST传递信息
     2 if(isset($_POST['addclass']))
     3 {
     4     sql();
     5     //POST传递信息
     6     $tid=$_POST['id'];
     7     $cname=$_POST['name'];
     8     //SQL语句插入
     9     $sql="INSERT INTO [V3].[dbo].[class] ([sid], [tid], [cname],[score],[cid]) VALUES (0, ".$tid.", '".$cname."',999,".rand(1,999).")";
    10     $result = mssql_query($sql);
    11     if($result)
    12         {echo "创建课程成功";}
    13     else
    14         {echo "SQL出错!";}
    15 }

    老师查看选课情况

     1 if($_GET['action']=='list')
     2 {
     3     //cookie传递tid
     4     $id=$_COOKIE["uid"];
     5     sql();
     6     //SQL语句取得编号tid老师以及默认学生sid=0,得到课名cname和课号cid
     7     $sql_class="SELECT * FROM [V3].[dbo].[class] where [tid]=".$id." AND [sid] = 0";
     8     $result_class = mssql_query($sql_class);    
     9     $i=0;//保存有多少行
    10     while ($row = mssql_fetch_array($result_class, MSSQL_ASSOC)) 
    11     {
    12         $class_id[$i]=$row['cid'];
    13         $class_name[$i]=$row['cname'];
    14         $i++;
    15     }
    16     //SQL语句通过tid和cid得到有多少学生选课
    17     for($a=0;$a<$i;$a++)
    18     {
    19         $sql_num[$a]="SELECT * FROM [V3].[dbo].[class] where [tid]=".$id." AND [cid] = ".$class_id[$a]."";
    20         $result_num[$a]= mssql_query($sql_num[$a]);
    21         $class_num[$a]=mssql_num_rows($result_num[$a]);
    22     }
    23     //保存字段中文含义
    24     $arrname[0]='课号';
    25     $arrname[1]='课名';
    26     $arrname[2]='选课人数';
    27         /*******************
    28                 HTML表格输出
    29         *******************/
    30     echo "<table border='1' >
    ";
    31     echo "	<tr><td colspan='3' align='center'>老师号:".$id."</td></tr>
    ";
    32     echo "	<tr>
    ";
    33     //有3列
    34     for($num=0;$num<3;$num++)
    35     {
    36         echo "		<td>".$arrname[$num]."</td>
    ";
    37     }
    38     echo "	</tr>
    ";
    39     for($a=0;$a<$i;$a++)
    40     {
    41         //删去sid为0的
    42         $class_num[$a]=$class_num[$a]-1;
    43         echo "	<tr>
    ";
    44             echo '<td>'.$class_id[$a].'</td>';
    45             echo '<td>'.$class_name[$a].'</td>';
    46             echo '<td>'.$class_num[$a].'</td>';
    47         echo "	</tr>
    ";
    48     }
    49     echo "</table>
    ";
    50 }
    51 ?>

    老师删减课程

     1 //POST传递信息
     2 if(isset($_POST['delclass']))
     3 {
     4     sql();
     5     //POST传递信息
     6     $cid=$_POST['cid'];
     7     //SQL进行删减操作
     8     $sql="DELETE FROM [V3].[dbo].[class] where [cid]=".$cid."";
     9     $result = mssql_query($sql);
    10     if($result)
    11         {echo "删除课程成功";}
    12     else
    13         {echo "SQL出错!";}

    老师查看成绩

     1 //GET传递信息
     2 if($_GET['action']=='show')
     3 {
     4     sql();
     5     //cookie传输tid
     6     $id=$_COOKIE["uid"];
     7     //SQL语句通过tid取得课号cid
     8     $sql_t="SELECT * FROM [V3].[dbo].[class] where [sid]=0 AND [tid] = ".$id."";
     9     $result_t = mssql_query($sql_t);
    10     $i=0;//保存老师有多少课程
    11     while ($row = mssql_fetch_array($result_t, MSSQL_ASSOC)) 
    12     {
    13         $t_cid[$i]=$row['cid'];
    14         $t_cname[$i]=$row['cname'];    
    15         $i++;
    16     }
    17     //将cid,sid,score存入数组
    18     for($a=0;$a<$i;$a++)
    19     {
    20         //通过cid找到选课了的学生
    21         $sql_t_s="SELECT * FROM [V3].[dbo].[class] where [cid]=".$t_cid[$a]." AND [tid] = ".$id."";
    22         $result_t_s = mssql_query($sql_t_s);
    23         $ii=0;//保存每个课程的学生人数
    24         while($row_ready = mssql_fetch_array($result_t_s, MSSQL_ASSOC))
    25         {
    26             $t_sid[$a][$ii]=$row_ready['sid'];
    27             $t_score[$a][$ii]=$row_ready['score'];
    28             $ii++;
    29         }
    30         $num[$a]=$ii;//把每个课程的人数存到数组里面
    31     }
    32     //通过sid找到sname
    33     for($b=0;$b<$i;$b++)
    34     {
    35         for($c=0;$c<$num[$b];$c++)
    36         {
    37             //通过cid找到选课了的学生
    38             $sql_sn="SELECT * FROM [V3].[dbo].[V3_student] where [sid]=".$t_sid[$b][$c]."";
    39             $result_sn = mssql_query($sql_sn);
    40             while($row_sn = mssql_fetch_array($result_sn, MSSQL_ASSOC))
    41             {
    42                 $t_sname[$b][$c]=$row_sn['sname'];
    43             }
    44         }
    45     }    
    46     //列出老师的课程
    47     if($_GET['cid']=='0')
    48     {
    49         for($dd=0;$dd<$i;$dd++)
    50         { 
    51                     echo "<a href='score.php?action=show&cid=".$t_cid[$dd]."'>查看__".$t_cname[$dd]."__课程情况!</a><br>";        
    52         }
    53     }
    54     for($ddd=0;$ddd<$i;$ddd++)
    55     {
    56         if($_GET['cid']==$t_cid[$ddd])
    57         {
    58             //保存字段中文含义
    59             $arrname[0]='课号';
    60             $arrname[1]='课名';
    61             $arrname[2]='学生号';
    62             $arrname[3]='学生名';
    63             $arrname[4]='成绩';
    64             /*******************
    65                     HTML表格输出
    66             *******************/
    67             echo "<table border='1' >
    ";
    68             echo "	<tr>
    ";
    69             //5列
    70             for($num5=0;$num5<5;$num5++)
    71             {
    72                 echo "		<td>".$arrname[$num5]."</td>
    ";
    73             }
    74             echo "	</tr>
    ";
    75             
    76                 for($e=0;$e < $num[ $ddd ];$e++)
    77                 {
    78                     if($t_score[$ddd][$e]=="999")
    79                     {
    80                         $t_score[$ddd][$e]="未上传成绩";
    81                     }
    82                     if($t_sid[$ddd][$e]=='0')
    83                     {
    84                         //不显示默认为0的学生
    85                         continue;
    86                     }
    87                     //输出内容
    88                     echo "	<tr>
    ";
    89                         echo '<td>'.$t_cid[$ddd].'</td>';
    90                         echo '<td>'.$t_cname[$ddd].'</td>';
    91                         echo '<td>'.$t_sid[$ddd][$e].'</td>';
    92                         echo '<td>'.$t_sname[$ddd][$e].'</td>';
    93                         echo '<td>'.$t_score[$ddd][$e].'</td>';
    94                     echo "	</tr>
    ";
    95                 }
    96             echo "</table>
    ";
    97         }
    98     }
    99 }

    老师上传成绩

     1 if(isset($_POST['up']))
     2 {
     3     sql();
     4     //cookie传输tid
     5     $id=$_COOKIE["uid"];
     6     //POST传输得到cid
     7     $up_cid=$_POST['cid'];
     8     //通过cid和tid找到选课了的学生
     9     $sql_s="SELECT * FROM [V3].[dbo].[class] where [cid]=".$up_cid." AND [tid] = ".$id."";
    10     $result_s = mssql_query($sql_s);
    11     $i=0;//保存有多少学生
    12     while ($row = mssql_fetch_array($result_s, MSSQL_ASSOC)) 
    13     {
    14         $up_score[$i]=$row['score'];
    15         $up_sid[$i]=$row['sid'];    
    16         $i++;
    17     }
    18     for($a=0;$a<$i;$a++)
    19     {
    20         if($up_sid[$a]=='0')
    21         {
    22             //忽略默认sid为0的学生
    23             continue;
    24         }
    25         //判断是不是数字
    26         if(is_numeric($_POST["sid_$up_sid[$a]"]))
    27         {
    28             //判断是否在0~100之内
    29             if($_POST["sid_$up_sid[$a]"]<=100&&$_POST["sid_$up_sid[$a]"]>=0)
    30             {
    31                 //POST传递给up_score数组
    32                 $up_score[$a]=$_POST["sid_$up_sid[$a]"];
    33             }
    34             else
    35             {echo "输入0~100之内的数字成绩!<br>";}
    36         }
    37         else
    38         {echo "输入数字!<br>";}
    39         //SQL语句更新score
    40         $sql_up_score="UPDATE [V3].[dbo].[class] SET [score] = ".$up_score[$a]." WHERE [cid] =".$up_cid." AND [sid] =".$up_sid[$a]."";
    41         $result_up_score = mssql_query($sql_up_score);
    42         if($result_up_score)
    43         {echo "上传成绩成功!";}
    44         else
    45         {echo "上传失败!";}
    46     }
    47 }

    反省:代码不整洁,因为这是老师布置的一个作业,做的比较匆忙,只是解决了里面出现的一些error和warning,并没有对代码进行优化,还有对网站安全的处理,比如SQL注入等没有做出处理。

    这些只是部分代码,希望大家看得过去。。。

    转载请注明出处:http://www.cnblogs.com/yydcdut/p/3461254.html

  • 相关阅读:
    leetcode_1423. 可获得的最大点数
    leetcode_剑指 Offer 06. 从尾到头打印链表
    leetcode_剑指 Offer 05. 替换空格
    leetcode_49. 字母异位词分组
    leetcode_73. 矩阵置零
    leetcode_26. 删除排序数组中的重复项
    jstack查看JVM堆栈信息
    如何画一张架构图
    百年孤独家谱
    阿尔萨斯(Arthas)入门
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3461254.html
Copyright © 2011-2022 走看看