嗨,我創建MySQL中的表名爲結果這將有4個領域,即需要代碼進入不同用戶的列值特定行
表結果
name ,
subject1_score ,
sub2_score ,
sub3_score
現在我正在做的是給3位老師分別輸入各自的科目分數。例如,* teacher_1 *將會看到所有的卷號,並將被要求放subject1_score
然後提交。其他兩名教師也是如此。因此,我必須在php
和mysql
中使用哪些代碼才能爲特定學生排列值。
嗨,我創建MySQL中的表名爲結果這將有4個領域,即需要代碼進入不同用戶的列值特定行
表結果
name ,
subject1_score ,
sub2_score ,
sub3_score
現在我正在做的是給3位老師分別輸入各自的科目分數。例如,* teacher_1 *將會看到所有的卷號,並將被要求放subject1_score
然後提交。其他兩名教師也是如此。因此,我必須在php
和mysql
中使用哪些代碼才能爲特定學生排列值。
我不確定什麼名字代表(學生或老師),我假設有3個科目,每個老師必須提交相應的分數,並且您希望將所有數據設置爲一行,如( roll_num,姓名,學科1分,學科2分,學科3分)。 如果這是真的,那麼這應該適合你:
if (isset("name") && isset("roll_number)){
$name = $_GET["name"];
$roll_no = $_GET["roll_number"];
if (isset("subject1_score")){
$subject = "subject1_score";
$score = $_GET['subject1_score'];
}elseif(isset("subject2_score")){
$subject = "subject2_score";
$score = $_GET['subject2_score'];
}elseif(isset("subject3_score")){
$subject = "subject3_score";
$score = $_GET['subject3_score'];
}else{
$subject = "";
$score = "";
}
$con = mysql_connect("host","username","password");
if (!$con) die('Could not connect: ' . mysql_error());
mysql_select_db($con, dbname);
$query1 = "SELECT * FROM result WHERE roll_number='$roll_no'";
$result1 = mysql_query($query1) or die(mysql_error());
$num = mysql_num_rows($result);
if($num == 0 && $subject != ""){
$query2 = "INSERT INTO result(roll_number, name, $subject) VALUES('$roll_no', '$name', '$score')";
mysql_query($query2) or die(mysql_error());
}elseif($num > 0 && $subject != ""){
$query2 = "UPDATE result SET $subject='$score' WHERE roll_number='$roll_no'"
}else{
echo "subject score is empty";
}
mysql_close($con);
有兩種方法,首先你要用學生姓名/ roll_nos填充表格,或者把它留空。但請保留一個字段,因爲它們是唯一的,並可以作爲主鍵。
在第一種方法中,您只需編輯已輸入標記的特定卷號的特定行。爲此,您只需運行mysql的更新查詢,如
mysql_query("UPDATE table_name SET subject1_score='$subject!_score' WHERE roll_no='$roll_no'");
等等。在這裏你必須通過PHP獲取表單中的no和標記。
在第二種方法中,你必須先檢查卷沒有通過運行SELECT
查詢,並通過`mysql_num_rows'計數沒有行的數據庫表存在。如果行數大於0,則必須通過運行更新查詢來更新roll_no。如果返回的行數爲0,則需要通過運行插入查詢來插入日期。
希望這會有所幫助!
thanx很多兄弟。我會盡力回覆你 – dhruvan 2013-02-22 14:31:25