0

嘿伙计们,我正在 mysql 中创建一个名为result的表,它将有 4 个字段,即

表格结果

name ,
subject1_score ,
sub2_score ,
sub3_score

现在我正在做的是给 3 位老师单独的表格,让他们输入他们各自的科目分数。例如,*teacher_1* 将看到所有卷号,并且需要输入subject1_score然后提交。其他两位老师也一样。那么我必须使用什么代码php才能mysql为特定学生连续输入值。

4

2 回答 2

0

有两种方法,第一种是用学生姓名/roll_nos 填充表格,第二种是保持空白。但是请为卷号保留一个字段,因为它们是唯一的并且可以作为主键。

在第一种方法中,您只需编辑已输入标记的特定卷号的特定行。为此,您只需要运行 mysql 的更新查询,例如,

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

等等。在这里,您必须通过 PHP 从表单中获取卷号和标记。

在第二种方法中,您必须首先通过运行SELECT查询并通过“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 回答