简体   繁体   中英

Adding up Values of a row in mysql database in a dynamic table

I have a table with number of fields that change with operation. To simplify it to the table below

STUDENT MATHS   PHYSICS BIOLOGY TOTAL

PAUL      89      87      65    

JOHN      56      89      54    

The aim is to sum up the scores of each student in the total column. I have written a small php code to that effect but is does not given me the result in total. I have also tried other variation (which i may not want to post) that did not work. Any suggestions please.

$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";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM