как рассчитать сумму на основе определенного условия - PullRequest
1 голос
/ 25 сентября 2019

Я хочу рассчитать сумму тренировочного часа на основе имени пользователя.Но когда я использую функцию SUM (), она показывает общее количество часов обучения в базе данных.Кто-нибудь может мне помочь?

<?php
    include('session.php');
    include_once('DB_connect.php');

    $UID = $_SESSION['USERID'];
    if(isset($_POST["USER_NAME"])){
        $B_title  = strtoupper($_POST["USER_NAME"]);
        $sql = "SELECT 
                TS_ID, TS_DATE, TS_DDATE, TS_HOUR, 
                TRAINING_NAME,TRAINING_HOUR, USER_NAME, 
                SUM(B.TRAINING_HOUR) AS TOTAL

            FROM 
                TRAINING_STATUS TS,
                USER_INFO UI,
                TRAINING B
            WHERE
                TS.TRAINING_ID = B.TRAINING_ID
            AND
                TS.USER_ID = UI.USER_ID
            ";

        include('sql.php');

        if(mysql_num_rows($retval) > 0){}
             print   '<table  align="right" style="width:14%">
                            <tr style="background-color:1AB299">
                                <th>TOTAL TRAINING HOUR </th>
                            </tr>';

                while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
                    print "<tr style='background-color:BCF9EF'>
                                <th>{$row['TOTAL']}</th>
                            </tr>";
                }
    }
?>

1 Ответ

0 голосов
/ 25 сентября 2019

Как Джеймс указал!

Измените запрос на:

$sql = "SELECT 
            TS_ID, TS_DATE, TS_DDATE, TS_HOUR, 
            TRAINING_NAME,TRAINING_HOUR, USER_NAME, 
            SUM(B.TRAINING_HOUR) AS TOTAL

        FROM 
            TRAINING_STATUS TS,
            USER_INFO UI,
            TRAINING B
        WHERE
            TS.TRAINING_ID = B.TRAINING_ID
        AND
            TS.USER_ID = UI.USER_ID
        GROUP BY USER_NAME";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...