我有一个表,其中的字段数量随着操作而变化。将其简化为下表
STUDENT MATHS PHYSICS BIOLOGY TOTAL
PAUL 89 87 65
JOHN 56 89 54
目的是将每个学生的分数相加到总列中。我已经为此编写了一个小的 php 代码,但并没有给出总体结果。我还尝试了其他不起作用的变体(我可能不想发布)。如有任何建议,请。
$table = 'scores';
$total = '';
$result = mysql_query("SELECT * FROM $table");
if (!$result) {
die("Query to show fields from table failed");
}
$fields_num = mysql_num_fields($result);
//table to display student scores
echo "<table><tr>";
for ($i=0; $i<$fields_num; $i++) {
$field = mysql_fetch_field($result);
echo "<th>$field->name</td>";
}
echo "</tr>\n";
while ($row = mysql_fetch_object($result)) {
$student_id=$row->student_id;
echo "<tr>";
foreach($row as $cell) {
echo "<td> $cell </td>";
}
// calcuate the total score of each record
$total =($cell + $total);
echo "</tr>\n";
echo 'The total = '.$total;
}
// functio to insert the total scores t the table
function tScore($table, $student_id, $total) {
$sqlCommand = "UPDATE $table SET total='$total' WHERE student_id='$student_id' ";
$query = mysql_query($sqlCommand) or die ('Sorry something went wrong while inserting Subjects Scores');
return $total;
return $student_id;
}
?>
最佳答案
您的查询应该是这样的
$sel="select *,(sum(Maths)+sum(Physics)+sum(Biology)) as Total from sum group by Student";
关于php - 将mysql数据库中的一行值添加到动态表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32016321/