Bonjour,
Je voudrez pouvoir récupérer le total du mois de novembre pour un uid donner ?
Voir image phpmyadmin en pièce jointe !
Bonjour,
Je voudrez pouvoir récupérer le total du mois de novembre pour un uid donner ?
Voir image phpmyadmin en pièce jointe !
Tu récupéres tes infos dans un $data et tu fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part $requete = "SELECT SUM('00h00') as 1, SUM('01h00') as 2, ..., SUM('23h00') as 24 WHERE uid='TON_UID_A_TESTER' GROUP BY uid"
Logiquement, ça devrait te totaliser le tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part $total = $data['1'] + $data['2'] + ... + $data['24'];![]()
J'ai fait ceci mais cela fonctionne pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $requete = "SELECT SUM('00h00') as 1, SUM('01h00') as 2 WHERE uid='".$uid."' GROUP BY uid"; $res10 = mysql_query ($requete); if($res10){ while($row10=mysql_fetch_array($res10)){ $total = $row10['1'] + $row10['2']; echo 'Debug : '.$total.''; } }
Tu peux m'en dire plus ?
Pas d'affichage de "Debug", affichage de donnée incohérente ?
Déjà tu obtiendras qu'une seul ligne, donc tu peux faire :
ça sera déjà plus rapide qu'utiliser un fetch_array ainsi qu'une boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $requete = "SELECT SUM('00h00') as 1, SUM('01h00') as 2 WHERE uid='".$uid."' GROUP BY uid"; $res10 = mysql_query ($requete); if($res10){ $row10 = mysql_fetch_assoc($res10); $total = $row10['1'] + $row10['2']; echo 'Debug : '.$total.''; } else echo "Problème dans la requête";
Test et dit moi![]()
Ah oui, on ne peut pas mettre de chiffre en alias de table...
Autant pour moi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $requete = "SELECT SUM('00h00') as Sum1, SUM('01h00') as Sum2 WHERE uid='".$uid."' GROUP BY uid"; $res10 = mysql_query ($requete); if($res10){ $row10 = mysql_fetch_assoc($res10); $total = $row10['Sum1'] + $row10['Sum2']; echo 'Debug : '.$total.''; } else echo "Problème dans la requête";
Si je fait le code la, cela me donne la somme de 74 donc ce qui n'est pas normal car j'ai une valeur de 1852 le lundi 07 novembre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $requete = "SELECT SUM('18h00') as Sum1, SUM('19h00') as Sum2 FROM qo_stats_stream WHERE uid='".$uid."' AND mois='novembre' GROUP BY uid"; $res10 = mysql_query ($requete); if($res10){ $row10 = mysql_fetch_assoc($res10); $total = $row10['Sum1'] + $row10['Sum2']; echo 'Debug : '.$total.''; } else echo "Problème dans la requête";
Donne moi le résultat de ça :
De plus, si tu veux tester, enleve les SUM et le GROUP BY de la requête et regarde ce que ça te retourne en ligne, voir si tu as quelque chose de cohérent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $requete = "SELECT SUM('18h00') as Sum1, SUM('19h00') as Sum2 FROM qo_stats_stream WHERE uid='".$uid."' AND mois='novembre' GROUP BY uid"; $res10 = mysql_query ($requete); if($res10){ echo "UID : ".$uid."<br />"; $row10 = mysql_fetch_assoc($res10); $total = $row10['Sum1'] + $row10['Sum2']; echo 'Debug : '.$total.''; } else echo "Problème dans la requête";
Execute ça dans PHPMyAdmin :
Et fait un screen des lignes retournées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part "SELECT 18h00 FROM qo_stats_stream WHERE uid='d88cd95b-05e8-4fa6-a11d-31a80e17b992' AND mois='novembre'"
La même chose avec cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part "SELECT SUM(18h00) FROM qo_stats_stream WHERE uid='d88cd95b-05e8-4fa6-a11d-31a80e17b992' AND mois='novembre' GROUP BY uid"
Donc dans PHP fait ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $requete = "SELECT SUM(18h00) as Sum1 FROM qo_stats_stream WHERE uid='".$uid."' AND mois='novembre' GROUP BY uid"; $res10 = mysql_query ($requete); if($res10){ echo "UID : ".$uid."<br />"; $row10 = mysql_fetch_assoc($res10); $total = $row10['Sum1']; echo 'Debug : '.$total.''; } else echo "Problème dans la requête";
Cela fonctionne impeccable, merci de ton aide cela ma été d'un grand secours !
Pas de soucis.
Pour tes futurs problèmes n'hésite pas à poster dans la bonne catégorie. Par exemple là, il s'agit plutôt d'un problème de MySQL que de PHP.
N'oublie pas le tag RÉSOLU
Bonne journée.
Partager