如何在php中使用while循环计算总和和平均值


How to Calculate Sum and Average using while loop in php

我正在创建一个结果编译器,我想计算学生的总数,平均和成绩,但每当我尝试计算总和时,它结束给我零请帮助我。下面是我使用的代码:

<?php
require 'php/functions.php';
if (isset($_GET['student'])) {
     $student   =  $_GET['student'];
     $part      = explode(' ', $student);
     $lastname = $part[0];
     $firstname = $part[1];


    //selecting values from database;
    $query      =   "SELECT * FROM `students` WHERE `lastname` = '$lastname' AND `firstname` = '$firstname'";
    $result     =   mysql_query($query);
    $numrows    =   mysql_num_rows($result);
    $class      =   mysql_result($result, 0, 'class');
    $house      =   mysql_result($result, 0, 'house');
    $gender     =   mysql_result($result, 0, 'gender');
    $ad_no      =   mysql_result($result, 0, 'admission_no');

    if ($numrows == 1) {
        ?>
        <p>Lastname: <?php echo trim($lastname); ?></p>
        <p>Firstname: <?php echo trim($firstname); ?></p>
        <p>Class: <?php echo trim($class); ?></p>
        <p>House: <?php echo trim($house); ?></p>
        <p>Gender: <?php echo trim($gender); ?></p>
        <p>Admission Number: <?php echo trim($ad_no); ?></p>
        <table border="1" cellspacing="2" cellpadding="9">
    <tr>
        <td>Subjects</td>
        <td>C.A</td>
        <td>M.T.E</td>
        <td>Exam</td>
        <td>Total</td>
        <td>Grade</td>
        <td>Remark</td>
    </tr>
    <tr>
    <form method="POST" action="">
    <?php
     $query     =   "SELECT `name` FROM `senior_subject`";
     $result    =   mysql_query($query);

      while ($rows = mysql_fetch_assoc($result)) {
        echo "<td>".$rows['name']."<br/></td>";
        ?>
    <td><input type="text"
    name = "<?php echo $rows['name'].'_ca'; ?>"
    placeholder = "<?php echo $rows['name']; ?> CA"/></td>
    <td><input type="text" 
    name = "<?php echo $rows['name'].'_mte'; ?>"
    placeholder = "<?php echo $rows['name']; ?> MTE"/></td>
    <td><input type="text" 
    name = "<?php echo $rows['name'].'_exam'; ?>"
    placeholder = "<?php echo $rows['name']; ?> EXAM"/></td>
    <td><input type="text" disabled='disabled' name = "<?php echo $rows['name'].'_total'; ?>"/></td>
    <td><input type="text" disabled='disabled' name = "<?php echo $rows['name'].'_grade'; ?>"/></td>
    <td><input type="text" disabled='disabled' name = "<?php echo $rows['name'].'_remark'; ?>"/></td>

    </tr>
        <?php
        if(isset($_POST['compile'])) {
            $ca = $rows['name'].'_ca';
            $mte = $rows['name'].'_mte';
            $exam = $rows['name'].'_exam';
            $total = $rows['name'].'_total';
            $grade = $rows['name'].'_grade';
            $total = $rows['name'].'_remark';
            echo $ca + $mte + $exam;
        }
     }
     ?>
<input type="submit" value="Compile" name="compile"/>
</table>
</form>
        <?php
    } else {
        echo "Student Does Not Exists";
    }
} else {
    echo "You don't have Permission to access this page";
}
?>

试试这个

if(isset($_POST['compile'])) {
        $ca = $rows['name'].'_ca';
        $mte = $rows['name'].'_mte';
        $exam = $rows['name'].'_exam';
        $total = $rows['name'].'_total';
        $grade = $rows['name'].'_grade';
        $total = $rows['name'].'_remark';
        $total += $total;
}

在开始的while循环之外添加$total = 0;