0

やあみんな私は4つのフィールドを持っているresultという名前のmysqlでテーブルを作成しています

テーブルの結果

name ,
subject1_score ,
sub2_score ,
sub3_score

今私がしているのは、それぞれの科目のスコアを入力するために3人の教師に別々のフォームを与えることです。たとえば、* Teacher_1 *はすべてのロール番号を表示し、入力してsubject1_score送信する必要があります。他の2人の教師も同様です。したがって、特定の学生の値を行に配置するために、どのコードを使用する必要がphpありますか。mysql

4

2 に答える 2

0

2 つの方法があります。最初に表に生徒名/roll_nos を入力するか、2 番目に空白のままにします。ただし、ロール番号は一意であり、主キーとして機能するため、ロール番号のフィールドを保持してください。

最初のアプローチでは、マークが入力された特定のロール番号の特定の行を編集するだけです。このためには、次のように mysql の更新クエリを実行するだけです。

mysql_query("UPDATE table_name SET subject1_score='$subject!_score' WHERE roll_no='$roll_no'");

等々。ここでは、PHP を介してフォームからロール番号とマークを取得する必要があります。

SELECT2 番目のアプローチでは、最初にクエリを実行し、「mysql_num_rows」で行数を数えることによって、ロール番号がデータベース テーブルに存在するかどうかを確認する必要があります。行数が 0 より大きい場合は、更新クエリを実行して roll_no を更新する必要があります。返される行数が 0 の場合は、挿入クエリを実行して日付を挿入する必要があります。

お役に立てれば!

于 2013-02-22T14:23:56.273 に答える
0

名前が何を表しているのかわからない (生徒または教師)。3 つの科目があり、各教師がそれぞれのスコアを提出する必要があり、すべてのデータを (roll_num, name,科目 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);
于 2013-02-22T15:22:41.287 に答える