Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2011, 09h43   #1
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
Par défaut Total pour Statistiques

Bonjour,

Je voudrez pouvoir récupérer le total du mois de novembre pour un uid donner ?


Voir image phpmyadmin en pièce jointe !
Images attachées
Type de fichier : jpg sql.JPG (53,2 Ko, 4 affichages)
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 09h53   #2
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Code :
$requete = "SELECT SUM('00h00') as 1, SUM('01h00') as 2, ...,  SUM('23h00') as 24 WHERE uid='TON_UID_A_TESTER' GROUP BY uid"
Tu récupéres tes infos dans un $data et tu fais

Code :
$total = $data['1'] +  $data['2'] + ... + $data['24'];
Logiquement, ça devrait te totaliser le tout
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h02   #3
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
J'ai fait ceci mais cela fonctionne pas !

Code :
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.'';
 }
}
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h08   #4
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Citation:
Envoyé par Mirel Voir le message
cela fonctionne pas !
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 :

Code :
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";
ça sera déjà plus rapide qu'utiliser un fetch_array ainsi qu'une boucle.
Test et dit moi
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h10   #5
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
Cela me ressort : Problème dans la requête
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h13   #6
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Ah oui, on ne peut pas mettre de chiffre en alias de table...

Autant pour moi :

Code :
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";
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h17   #7
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
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 :
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";
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h20   #8
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Donne moi le résultat de ça :

Code :
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";
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.
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h21   #9
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
UID : d88cd95b-05e8-4fa6-a11d-31a80e17b992
Debug : 74
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h24   #10
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Execute ça dans PHPMyAdmin :

Code :
"SELECT 18h00 FROM qo_stats_stream WHERE uid='d88cd95b-05e8-4fa6-a11d-31a80e17b992' AND mois='novembre'"
Et fait un screen des lignes retournées.
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h26   #11
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
Voila
Images attachées
Type de fichier : jpg sql1.JPG (44,9 Ko, 2 affichages)
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h28   #12
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
La même chose avec cette requête :

Code :
"SELECT SUM(18h00) FROM qo_stats_stream WHERE uid='d88cd95b-05e8-4fa6-a11d-31a80e17b992' AND mois='novembre' GROUP BY uid"
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h30   #13
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
Ca donne le 1852
Images attachées
Type de fichier : jpg sql2.JPG (32,9 Ko, 2 affichages)
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h32   #14
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Donc dans PHP fait ça :

Code :
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";
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h33   #15
Invité de passage
 
Homme Kevin
Inscription : mars 2009
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Âge : 28
Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2009
Messages : 19
Points : 4
Points : 4
Cela fonctionne impeccable, merci de ton aide cela ma été d'un grand secours !
Mirel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 10h35   #16
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
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.
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h17.


 
 
 
 
Partenaires

Hébergement Web