📄 schomana.cgi
字号:
$pagetitle="学生成绩管理";
&error("您没有执行此操作的权限!") if ($ulevel ne "master");
sub schomana{
$setedit=0;
$page=int($fields{'page'});
$pageurl="$indexurl?job=schomana&DB=$DBname$userinfo";
do "$cgihead/class.cgi";
print qq~
<table border='0' width='100%' cellspacing='1' bgcolor='#000000' cellpadding='0'>
<tr>
<td width='100%' bgcolor='#006000' height='19' align='center'><font color='#FFFFFF'><strong>:::
[成绩管理]所有学生成绩 :::</strong></font></td>
</tr>
<tr>
<td width='100%' bgcolor='#FFFFFF' align='center'><table border='0' width='99%'>
~;
$outfilename="";
if ($fields{'mjob'} eq "out") {
if (!$fields{'mon'}) {
print "<script>alert('请先选择一个班级!');</script>";
} else {
@classinfo=readdatafile("Class.DB");
$returnclass=&returnclass($fields{'mon'});
($remon,$rename,$ret1,$ret2,$ret3,$oxx1,$oxx2,$oxx3,$oxx4,$oxx5,$oxx6,$oxx7,$oxx8,$oxx9,$oxx10,$oxx11,$oxx12,$oxx13,$oxx14,$oxx15,$oxx16,$oxx17,$oxx18,$oxx19,$oxx20,$oxx21,$last) = split(/\‖/,$returnclass);
$outcg="";
for ($i=1;$i<=21;$i++) {
$outcgname="oxx$i";
$outcg.="${$outcgname}," if (${$outcgname});
}
chop($outcg);
for(@classinfo) {
($classmon,$classname,$last) = split(/\‖/,$_);
last if ($classmon eq $fields{'mon'});
}
$outfilename="$classname 学生成绩报表.csv";
&put_fvar(">$outfilename","名次,学号,姓名,$outcg,选修,总分\n");
@userlist=&getuser("$fields{'mon'}");
@outulist=();
foreach $line(@userlist) {
($oid,$opass,$oname,$osex,$ocontact,$oclass,$olevel,$ostats,$oxx22,$oxx23,$oxx24,$oxx25,$oxx26,$oxx27,$ot1,$ot2,$ot3,$ot4,$oend)= split (/\‖/,$line);
$outmust=&getmust($oid);
($mustid,$mustclass,$ocg1,$ocg2,$ocg3,$ocg4,$ocg5,$ocg6,$ocg7,$ocg8,$ocg9,$ocg10,$ocg11,$ocg12,$ocg13,$ocg14,$ocg15,$ocg16,$ocg17,$ocg18,$ocg19,$ocg20,$ocg21,$ocg22,$ocg23,$ocg24,$ocg25,$ocg26,$ocg27,$ocg28,$last) =split(/\‖/,$outmust);
$outconn="$oid,$oname,";
for ($ii=1;$ii<=21;$ii++) {
$mustname="oxx$ii"; $mustvalue="ocg$ii";
$outconn.="${$mustvalue}," if (${$mustname});
}
$outoxx="";
for ($ii=22;$ii<=27;$ii++) {
$mustname="oxx$ii"; $mustvalue="ocg$ii";
$outoxx.="${$mustname}(${$mustvalue})/" if (${$mustname});
}
chop($outoxx);
$outconn="$ocg28‖$outconn$outoxx";
push(@outulist,$outconn);
}
@outulist=(reverse sort{$a<=>$b}@outulist);
for ($i=1;$i<=$#outulist+1;$i++) {
($ocgzf,$oout) =split(/\‖/,$outulist[$i-1]);
&put_fvar(">>$outfilename","$i,$oout,$ocgzf\n");
}
$tar = Archive::Tar->new();
$tar->add_files($outfilename);
$tar->write("$outfilename.tar");
unlink "$outfilename";
print "<script LANGUAGE='JavaScript'>window.open ('$indexurl?job=out&filename=$outfilename.tar$userinfo', 'Outfile')</script>";
######################Out End
}
}
@dblist=&getuser("$fields{'mon'}");
$list=$#dblist+1;
$page=int($list/$PageMaxInfo);
$page++ if ($list%$PageMaxInfo!=0 || $list==0);
$setpage=$page if ($setpage>$page);
$setpage=1 if ($setpage<1);
$e=$setpage*$PageMaxInfo;
$s=($setpage-1)*$PageMaxInfo;
for($i=$s;$i<$e;$i++) {
&getoinfo($dblist[$i]);
if ($oname) {
$returnclass=&returnclass($oclass);
($remon,$rename,$ret1,$ret2,$ret3,$oxx1,$oxx2,$oxx3,$oxx4,$oxx5,$oxx6,$oxx7,$oxx8,$oxx9,$oxx10,$oxx11,$oxx12,$oxx13,$oxx14,$oxx15,$oxx16,$oxx17,$oxx18,$oxx19,$oxx20,$oxx21,$last) = split(/\‖/,$returnclass);
if ($osex eq "Gril") {$sexcolor="ff0000";} else {$sexcolor="0000ff";}
if ($bgcolor ne "ffffff") {$bgcolor="ffffff";} else {$bgcolor="f5f5f5";}
$setlook=""; $setlook="<a name=lookuser></a>" if ($fields{'user'} eq $oid);
print "<tr bgcolor=$bgcolor><td><img
src='images/88.gif' align='absmiddle' border='0'>$setlook<a href='$indexurl?job=schomana&user=$oid&mon=$fields{'mon'}&page=$fields{'page'}&DB=$DBname$userinfo&temp=#lookuser'><font face=Verdana color=006000>[$oid]</font><font color=$sexcolor>$oname</font></a><\/td><td>班级:<font face=Verdana>$rename</font><\/td><\/tr>\n";
}
if ($oid eq $fields{'user'} && $fields{'user'}) {
$must=&getmust($oid);
($mustid,$mustclass,$ocg1,$ocg2,$ocg3,$ocg4,$ocg5,$ocg6,$ocg7,$ocg8,$ocg9,$ocg10,$ocg11,$ocg12,$ocg13,$ocg14,$ocg15,$ocg16,$ocg17,$ocg18,$ocg19,$ocg20,$ocg21,$ocg22,$ocg23,$ocg24,$ocg25,$ocg26,$ocg27,$ocg28,$last) =split(/\‖/,$must);
print "<tr><td width='100%' colspan='2' height=100><form method='POST' action='$indexurl?job=schomana_edit&DB=$DBname&mon=$fields{'mon'}&page=$fields{'page'}&user=$fields{'user'}$userinfo'><input type=hidden name='class' value='$oclass'><table border='0' width='100%' cellspacing='1'>";
%setmust=(); %setoxx=();
for ($ii=1;$ii<=21;$ii++) {
$mustname="oxx$ii"; $mustvalue="ocg$ii";
if (${$mustname} ne "") {$setmust{"${$mustname}"}="$ii|${$mustvalue}";}
}
for ($ii=22;$ii<=27;$ii++) {
$mustname="oxx$ii"; $mustvalue="ocg$ii";
if (${$mustname} ne "") {$setoxx{"${$mustname}"}="$ii|${$mustvalue}";}
}
while (($key,$value)=each(%setmust)) {
($fromname,$cgvalue) =split(/\|/,$value);
if ($cgvalue<60 && $cgvalue>1) {$vcolor="dd2222";}
elsif ($cgvalue <80 && $cgvalue>1) {$vcolor="DD8844";}
else {$vcolor="006000";}
print "<tr><td bgcolor='#F5F7FE' height=19 width='20%' nowrap>$key</td><td bgcolor=FEF7F5><input type=text class=input name='cg$fromname' value='$cgvalue' style='COLOR: $vcolor;'></td></tr>\n";
}
while (($key,$value)=each(%setoxx)) {
($fromname,$cgvalue) =split(/\|/,$value);
if ($cgvalue<60 && $cgvalue>1) {$vcolor="dd2222";}
elsif ($cgvalue <80 && $cgvalue>1) {$vcolor="DD8844";}
else {$vcolor="006000";}
print "<tr><td bgcolor='#F5FEF7' height=19 width='20%' nowrap>$key</td><td bgcolor=FEF7F5><input type=text class=input name='cg$fromname' value='$cgvalue' style='COLOR: $vcolor;'></td></tr>\n";
}
print "<tr><td bgcolor='dd2222' height=19 width='20%' nowrap align=right><font color=ffffff><b>总分==></b></font></td><td bgcolor=FEF7F5><input type=text class=input name='cg28' value='$ocg28' style='COLOR: 000080;'> <input type='checkbox' name='auto' value='1'>自动累计总分(不包括选修课程) <input type=image src='images/button_edit.gif' border=0 alt='修改' align=absmiddle></td></tr>\n";
@topmust=&getmust("",$oclass);
for ($ii=1;$ii<=$#topmust+1;$ii++) {
($topcg,$mustid) =split(/\‖/,$topmust[$ii-1]);
if ($mustid eq $oid) {
print "<tr><td bgcolor='006000' height=19 width='20%' nowrap align=right><font color=ffffff><b>班级名次==></b></font></td><td bgcolor=FEF7F5><font face=Verdana color=ff4400><b>$ii</b></font></td></tr>\n";
last;
}
}
print "</form></table></td></tr>\n";
}
}
$npage=$ppage=$setpage;
$npage++;
$ppage--;
print qq~
</table>
</td>
</tr>
<tr>
<td width='100%' bgcolor='#FFFFFF' align=center height=21>
<form method='POST' action='$indexurl?job=schomana&mon=$fields{'mon'}&DB=$DBname$userinfo'>
~;
print "<font color='006000'>单击用户查看成绩</font> ";
if ($setpage!=1) {print "<a href='$indexurl?job=schomana&mon=$fields{'mon'}&DB=$DBname&page=1$userinfo'>第一页<\/a> <a href='$indexurl?job=schomana&mon=$fields{'mon'}&DB=$DBname&page=$ppage$userinfo'>上一页<\/a>";}
else {print "<font color=dd2222>第一页<\/font> <font color=888888>上一页<\/font>";}
if ($setpage<$page) {print " <a href='$indexurl?job=schomana&DB=$DBname&mon=$fields{'mon'}&page=$npage$userinfo'>下一页<\/a> <a href='$indexurl?job=schomana&DB=$DBname&mon=$fields{'mon'}&page=$page$userinfo'>最后页<\/a>";}
else {print " <font color=888888>下一页<\/font> <font color=dd2222>最后页<\/font>";}
$adduid="$fields{'next'}" if ($fields{'next'});
print qq~
$setpage页 \/ 共$page页 到
<input type=text name=page size=4 class=input maxlength=4> <input type='submit' value=页 class=input>
</td></form>
</tr>
</table>
<center><hr size=1 color=666666><a href='$indexurl?job=dbmana&DB=$DBname$userinfo'><img src='images/button_dbmana.gif' border=0 alt='数据库管理'></a> <a href='$indexurl?job=schomana&mon=$fields{'mon'}&page=$fields{'page'}&DB=$DBname&mjob=out$userinfo'><img src='images/button_out.gif' border=0 alt='输出Excel报表[学生成绩]'></a></center>
~;
}
1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -