正在瀏覽:
1 名遊客
#1
學生學號有誤要如何處理?
hirokofan_
12/5 8:39
某校今年的新生學號設為6001,想要改為106001請問該如何處理?
目前測試,直接從學籍管理修改的話會出現錯誤訊息不能修改,從問題工具箱則可以修改(要同時改A表和B表),只是沒有學籍管理那樣方便可以自動跳下一號,請問這個問題是否有更好的處理方法?
另外是106學年度的學生目前沒有成績,但105學年度的學生也有學號5001要改成105001的問題,若照這樣的方式修改是否會發生錯誤或成績不見的情形?
目前測試,直接從學籍管理修改的話會出現錯誤訊息不能修改,從問題工具箱則可以修改(要同時改A表和B表),只是沒有學籍管理那樣方便可以自動跳下一號,請問這個問題是否有更好的處理方法?
另外是106學年度的學生目前沒有成績,但105學年度的學生也有學號5001要改成105001的問題,若照這樣的方式修改是否會發生錯誤或成績不見的情形?
#2
回復: 學生學號有誤要如何處理?
infodaes
12/6 9:59
<?php
// 載入設定檔
include "stud_reg_config.php";
//印出檔頭
head();
$sql_sfs3="SHOW TABLES FROM $mysql_db";
$rs_sfs3=$CONN->Execute($sql_sfs3) or trigger_error($sql_sfs3,256);
while(!$rs_sfs3->EOF) {
$tbname=$rs_sfs3->fields[0];
$sql="SHOW COLUMNS FROM `$tbname`";
$rs=$CONN->Execute($sql) or trigger_error($sql,256);
while(!$rs->EOF) {
$colname=$rs->fields[0];
if($colname == 'stud_id') {
//echo "<li>$tbname</li>";
$tables[]=$tbname;
}
$rs->MoveNext();
}
$rs_sfs3->MoveNext();
}
if(!$IS_JHORES) {
//要處理的學生
$students=array(
'1020541'=>'102051',
'1020542'=>'102052',
'1020543'=>'102053',
'1020544'=>'102054',
);
foreach($students as $bad => $right) {
//檢查有無學號重複
$sql="SELECT COUNT(*) FROM stud_base WHERE stud_id='$bad'";
$rs=$CONN->Execute($sql) or trigger_error($sql,256);
if($rs->fields[0]>1) echo "學生基本資料表(stud_base)學號 $bad 有重複現象,為了避免衍生其他錯誤,程式不予校正處理
!"; else {
echo "<li>$bad --> $right</li>";
foreach($tables as $k => $v) {
$sql="UPDATE `$v` SET stud_id='$right' WHERE stud_id='$bad'";
$CONN->Execute($sql,$affected_rows);
echo "$affected_rows : $sql<br>";
}
}
}
} else echo "本程式只適用於國小!";
foot();
?>
// 載入設定檔
include "stud_reg_config.php";
//印出檔頭
head();
$sql_sfs3="SHOW TABLES FROM $mysql_db";
$rs_sfs3=$CONN->Execute($sql_sfs3) or trigger_error($sql_sfs3,256);
while(!$rs_sfs3->EOF) {
$tbname=$rs_sfs3->fields[0];
$sql="SHOW COLUMNS FROM `$tbname`";
$rs=$CONN->Execute($sql) or trigger_error($sql,256);
while(!$rs->EOF) {
$colname=$rs->fields[0];
if($colname == 'stud_id') {
//echo "<li>$tbname</li>";
$tables[]=$tbname;
}
$rs->MoveNext();
}
$rs_sfs3->MoveNext();
}
if(!$IS_JHORES) {
//要處理的學生
$students=array(
'1020541'=>'102051',
'1020542'=>'102052',
'1020543'=>'102053',
'1020544'=>'102054',
);
foreach($students as $bad => $right) {
//檢查有無學號重複
$sql="SELECT COUNT(*) FROM stud_base WHERE stud_id='$bad'";
$rs=$CONN->Execute($sql) or trigger_error($sql,256);
if($rs->fields[0]>1) echo "學生基本資料表(stud_base)學號 $bad 有重複現象,為了避免衍生其他錯誤,程式不予校正處理
!"; else {
echo "<li>$bad --> $right</li>";
foreach($tables as $k => $v) {
$sql="UPDATE `$v` SET stud_id='$right' WHERE stud_id='$bad'";
$CONN->Execute($sql,$affected_rows);
echo "$affected_rows : $sql<br>";
}
}
}
} else echo "本程式只適用於國小!";
foot();
?>
您可以查看帖子.
您不可發帖.
您不可回復.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.