基于Sql Server 2008的分布式数据库的实践(五)

原文 基于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传递id2     $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' >\n";
19     echo "\t<tr>\n";
20     for($num=0;$num<$db_t_num;$num++)
21     {
22         //输出字段中文含义
23         echo "\t\t<td>".$arrname[$num]."</td>\n";
24     }
25     echo "\t</tr>\n";
26     while ($row = mssql_fetch_array($result, MSSQL_ASSOC))
27     {
28         //输出内容
29       echo "\t<tr>\n";
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 "\t</tr>\n";
36     }
37     echo "</table>\n";
38     //释放SQL链接
39     mssql_free_result($result);

学生选课

 1 //GET得到是选课操作2 if($_GET['action']=='do')3 {4     //cookie传递sid5     $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' >\n";
53     echo "\t<tr><td colspan='7' align='center'>选课系统</td></tr>\n";
54     echo "\t<tr>\n";
55     echo "\t<tr>\n";
56     //有6列
57     for($num=0;$num<7;$num++)
58     {
59         echo "\t\t<td>".$arrname[$num]."</td>\n";
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 "\t<tr>\n";
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 "\t</tr>\n";
87     }
88     echo "\t<tr><td colspan='7' align='center'><input type='submit' name='sub' value='确认课程'></td></tr>\n";
89     echo "</table>\n";
90     echo "</form>";
91 }

学生退课

 1 //GET传递操作,为退课操作2 if($_GET['action']=='mine')3 {4     //cookie传递sid5     $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' >\n";
43     echo "\t<tr><td colspan='7' align='center'>我选上的课</td></tr>\n";
44     echo "\t<tr>\n";
45     echo "\t<tr>\n";
46     //有7列
47     for($num=0;$num<7;$num++)
48     {
49         echo "\t\t<td>".$arrname[$num]."</td>\n";
50     }
51     echo "\t</tr>\n";
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 "\t<tr>\n";
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 "\t</tr>\n";
68     }
69     echo "\t<tr><td colspan='7' align='center'><input type='submit' name='delsub' value='确认退课'></td></tr>\n";
70     echo "</table>\n";
71     echo "</form>";
72 }

学生查看成绩

 1 //通过cookie得到sid2     $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' >\n";
40     echo "\t<tr><td colspan='7' align='center'>我选上的课</td></tr>\n";
41     echo "\t<tr>\n";
42     echo "\t<tr>\n";
43     //有7列
44     for($num=0;$num<7;$num++)
45     {
46         echo "\t\t<td>".$arrname[$num]."</td>\n";
47     }
48     echo "\t</tr>\n";
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 "\t<tr>\n";
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 "\t</tr>\n";
70     }
71     echo "</table>\n";

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

 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' >\n";
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 "\t<tr>\n";
27         for($num=0;$num<$db_t_num;$num++)
28         {
29             echo "\t\t<td>".$arrname[$num]."</td>\n";
30         }
31         echo "\t</tr>\n";
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 "\t<tr>\n";
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 "\t</tr>\n";
56         }
57         echo "</table>\n";
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传输tid5     $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' >\n";
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 "\t<tr>\n";
25     for($num=0;$num<$db_t_num;$num++)
26     {
27         echo "\t\t<td>".$arrname[$num]."</td>\n";
28     }
29     echo "\t</tr>\n";
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 "\t<tr>\n";
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 "\t</tr>\n";
53     }
54     echo "</table>\n";
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传递tid4     $id=$_COOKIE["uid"];5     sql();6     //SQL语句取得编号tid老师以及默认学生sid=0,得到课名cname和课号cid7     $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' >\n";
31     echo "\t<tr><td colspan='3' align='center'>老师号:".$id."</td></tr>\n";
32     echo "\t<tr>\n";
33     //有3列
34     for($num=0;$num<3;$num++)
35     {
36         echo "\t\t<td>".$arrname[$num]."</td>\n";
37     }
38     echo "\t</tr>\n";
39     for($a=0;$a<$i;$a++)
40     {
41         //删去sid为0的
42         $class_num[$a]=$class_num[$a]-1;
43         echo "\t<tr>\n";
44             echo '<td>'.$class_id[$a].'</td>';
45             echo '<td>'.$class_name[$a].'</td>';
46             echo '<td>'.$class_num[$a].'</td>';
47         echo "\t</tr>\n";
48     }
49     echo "</table>\n";
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传输tid6     $id=$_COOKIE["uid"];7     //SQL语句通过tid取得课号cid8     $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' >\n";
68             echo "\t<tr>\n";
69             //5列
70             for($num5=0;$num5<5;$num5++)
71             {
72                 echo "\t\t<td>".$arrname[$num5]."</td>\n";
73             }
74             echo "\t</tr>\n";
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 "\t<tr>\n";
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 "\t</tr>\n";
95                 }
96             echo "</table>\n";
97         }
98     }
99 }

老师上传成绩

 1 if(isset($_POST['up']))2 {3     sql();4     //cookie传输tid5     $id=$_COOKIE["uid"];6     //POST传输得到cid7     $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

posted on 2013-12-08 23:20 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3464457.html

基于Sql Server 2008的分布式数据库的实践(五)相关推荐

  1. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

  2. 基于Sql Server 2008的分布式数据库的实践(三)

    原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...

  3. 基于Sql Server 2008的分布式数据库的实践

    配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择"属性".左侧选择"安全性" ...

  4. 基于Sql Server 2000的分布式数据库的实践

    摘 要:提出了如何充分利用 MS SQL Server 2000 的数据库管理特性,采用链接服务器.分布式分区视图和存储过程构建分布式数据库,以及基于数据库复制技术实现混合式的数据分布.实验实现了分布 ...

  5. [转]基于SQL Server 2008 Service Broker构建企业级消息系统

    http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroker 1.引言 Microsoft 在SQL Serve ...

  6. Sql Server 2008 实现不同数据库-表实时同步 本地发布/订阅

    SQL server 不同数据库之间的表实时同步 图片大部分来自Sql Server 2008 实现不同数据库-表实时同步 本地发布/订阅 - 简书 有做适当的内容增加解释. 本地发布 1.新建发布 ...

  7. SQL Server 2008 R2 开启数据库远程连接

    今天要测试一个.net系统~因为配置的数据库是SQL Server~我就不得不安装SQL Server 2008 R2~现在我们就一起来看看SQL Server 2008 R2是如何打开远程连接端口1 ...

  8. SQL Server 2008:示例数据库安装

    SQL Server 2008终于正式发布了,官方网站提供了SQL2008的下载试用,不过有一点不爽的就是他居然把X86,X64和IA64三种处理器的版本放在了同一个ISO中,我使用的是X86的操作系 ...

  9. SQL Server 2008 R2开启数据库的远程连接及客户端配置

    SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远程连接数 ...

最新文章

  1. sublime使用总结
  2. POJ2186——并查集+Tarjan算法求强连通分量
  3. 三星E1200R语言设置_三星 S20 系列评测:依旧是 Android 阵营最高水平
  4. vue each_Vue 应用单元测试的策略与实践 05 - 测试奖杯策略
  5. 微软程序员利用测试账户套现千万美元,或面临 20 年监禁
  6. word里双横线怎么打_美人计 | 精致打工人秀智,教你内双怎么化
  7. C++:值传递、指针传递、引用传递
  8. 华为lab-rs-v1-2.9_OSPF区域34
  9. 【理财】【学校财务信息管理系统】一卡通网络金融化
  10. 批处理 文件名字前面加前缀或者后缀
  11. 国产操作系统(1)UOS安装QT
  12. 【收集】网络上各路大侠放出的面试题、求职技巧
  13. 何登骥获“两优一先”荣誉 谋定·国稻种芯: 湖南农业科学院表彰
  14. C++ 全排列 123456789 1 2 3
  15. 零基础入门数据挖掘,看完这份详细的学习指南就够了!(附资料)
  16. Vue:使用elementUI upload组件上传excel文件
  17. 28_RTC实时时钟BKP备份寄存器
  18. openwrt procd启动流程和脚本分析
  19. 数字验证码识别完成自动化登录
  20. Linux启用显卡opengl,如何使你的Nvidia显卡支持OpenGL?

热门文章

  1. ACM 模板--链接表 无向图
  2. 编写自己的Shell解释器
  3. etcd分布式之服务发现需要
  4. redis的string类型和bitmap
  5. springmvc二十五:springmvc支持ajax
  6. c一:指针引用(int * p )和指针(int * q)的区别
  7. JavaEE进阶知识学习-----SpringCloud(六)Ribbon负载均衡
  8. 阿里云云计算服务 备案期间服务器免费
  9. NB-IoT标准落定 规模商用还需跨过成本关
  10. 华为交换机端口组配置实例