Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 23/06/2011, 11h17   #1
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Par défaut Requete et Group By

Bonjour à tous

je bloque pour écrire une requête Sql, je pense qu'il faut utiliser les Group By mais je ne maitrise pas trop cette partie de Sql...

Si quelqu'un peut m'aider ça serait cool

Table : travaux
Structure :
id_travaux - clé primaire
id_projet
id_realisateur
titre
date_creation
temps_passe
texte

Objectif
L'objectif est de ressortir pour chaque id_projet le temps passé par chaque id_realisateur sur un mois donné.

Recherche
Pour l'instant j'ai écris la requête suivante
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$mois = $_GET['mois'];
$annee = $_GET['annee'];
 
$debut_mois = "$annee-$mois-01";
 
$mois2 = mktime( 0, 0, 0, $mois, 1, $annee ); 
setlocale('LC_ALL', 'fr_FR');
$dernier_jour = date("t",$mois2);
$fin_mois = "$annee-$mois-$dernier_jour";
 
 
$sql = "SELECT * 
        FROM travaux 
        WHERE date_creation BETWEEN '$debut_mois' AND '$fin_mois'
        ORDER BY id_projet
        ";
Je voulais ensuite parser les projets via PHP mais je n'y arrive pas et je me dis ça serait peut-être pas plus mal de le faire dès le départ en Sql...

J'espère avoir été clair...
__________________
Le contenu est roi, optimisé il est empereur...

Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h33   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

je ne suis pas sur de ma requête mais cela doit être de ce genre:

Code :
1
2
3
4
5
6
 
        SELECT id_projet , id_realisateur,SUM(temps_passe)
        FROM travaux 
        WHERE date_creation BETWEEN '$debut_mois' AND '$fin_mois'
        GROUP BY id_projet , id_realisateur
        ORDER BY id_projet
lorsque j'ai un doute j'aime bien regarder ce site pour l'sql je trouve qu'il explique bien.

En espérant t'avoir aider ^^
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h40   #3
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Yes a priori ca marche, je mene mes tests voir si tout est bon
__________________
Le contenu est roi, optimisé il est empereur...

Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h45   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
par contre petite erreur dans ton algo de départ :

si un projet démarre le 25 d'un mois et dure 10jours tu n'auras pas exactement le temps par mois pour chaque réalisateur ..
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h49   #5
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Je ne veux pas a cet endroit la le temps total passé sur le projet mais bien le temps passé sur le projet pour le mois X.

Donc je prends le temps jusqu'a la fin du mois, meme si le projet se termine sur le mois suivant
__________________
Le contenu est roi, optimisé il est empereur...

Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h58   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Citation:
Envoyé par BenoitDenis Voir le message
Je ne veux pas a cet endroit la le temps total passé sur le projet mais bien le temps passé sur le projet pour le mois X.

Donc je prends le temps jusqu'a la fin du mois, meme si le projet se termine sur le mois suivant
oui c'est ce que j'avais compris mais avec la requête donnée tu aura le temps total passé sur le projet non ?
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 12h27   #7
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Citation:
Envoyé par boo64 Voir le message
oui c'est ce que j'avais compris mais avec la requête donnée tu aura le temps total passé sur le projet non ?
Je ne pense pas car date_creation correspond à la date d'insertion de la relation entre id_projet et id_realisateur. Du coup cela veux dire qu'il met dans ca base en fait le temps de travail journalier et du coup si on délimite ces jours pour former un mois et qu'on additionne chaque temps_passe obtenu alors on a le temps passé pour chaque utilisateur pour une période donnée.

Enfin je l'avais compris comme ca ^^
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 14h33   #8
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
T'as tout compris, la date correspond au jour sur lequel le travail Y a été fait sur le projet X
__________________
Le contenu est roi, optimisé il est empereur...

Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h52.


 
 
 
 
Partenaires

Hébergement Web