2017-10-23 16 views
0

私たちの工場(従業員)のデイクローズを作成しようとしています。私がこれまでに作成した何特定のMySQL列の値ごとに変数にPHPストアの合計数を表示

  • それが示すには、SQL SELECT関数に与えられたとしてSTARTDATEとステータスを持つデータベース内のすべてのレコードの合計です。だから$ totalWorkedTime = 16.68。しかし、これは私が望むものではありません。私は部門ごとに合計金額を表示したい。

    $datestring = '23-10-2017'; 
    $qClosure = 'SELECT * FROM timeRegistration WHERE startdate="'. $datestring .'" && status="3" '; 
    $rClosure = mysqli_query($conn, $qClosure); 
    
    $totalWorkedTime = 0; 
    
    while($row = mysqli_fetch_assoc($rClosure)) { 
    
    $totalWorkedTime += $row['worktime']; 
    
    } 
    echo $totalWorkedTime; 
    

私の目標は以下の通りである:

  • 異なる部門(1、2、3、4、5、6)労働時間の合計カウントのために記憶する機能。私のMySQLデータベースにはworktimeという列があります。この欄には、3.42,3.42,4.92,4.92のような異なる値があります(これは時間です)。だから私は4つのレコードが正しいです。現在、これらのレコードには、部門に異なる部門があります。

私の機能は各部門の値を格納したいと思っています。これをどうすれば管理できますか?例は次のとおりです。

$ totalhoursDepartment5 = 6.84; $ totalhoursDepartment4 = 9.84;

department:3または2の他のレコード(例)がある場合、この関数はより多くの$ totalhoursDepartmentを作成する必要があります。

MySQL DB

+0

混乱しています....はっきり説明できますか? – GYaN

+0

@GyandeepSharma追加情報が明らかになったことを願っています。私にお知らせください。 – nhatimme

答えて

0
$datestring = '23-10-2017'; 
    $qClosure = 'SELECT SUM(worktime) AS totalworktime 
FROM timeRegistration 
Where departement in (select departement 
from timeRegistration 
WHERE startdate="'. $datestring .'" 
and status="3")'; 
    $rClosure = mysqli_query($conn, $qClosure); 

? )(

http://sql.sh/cours/where/in

http://sql.sh/fonctions/agregation/sum

1

SQL和 'の'

使用する 'の合計' とはあなたのためにこれを行います。

SELECT SUM(worktime),department 
FROM Depts 
GROUP BY department; 

部門はforeingキーでなければなりません部門テーブルに追加します。

+0

@nhatimmeこのクエリを試す... – GYaN

関連する問題