PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-05-2009 11:02:03

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

[Sujet Clos] [MySQL] Pointage !!!

Salut a tous big_smile
Je veux être le premier a poster !!!!!
Alors, je m'invente un probleme big_smile
j'ai une table comme suivant :
id int
matricule char(10)
heure datetime
je voudrais connaître le temps de presence par periode et pas individu wink
Bon courage a tous !!!!!!
a++


Hors ligne

#2 08-05-2009 11:17:55

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Saluton,
T'aurais pu faire un effort de clarté dans l'exposé de ton problème.
(je voulais être le premier à râler) hmm

Même pas foutu capable de mettre une émoticone  l'vieux MK

Dernière modification par Maljuna Kris (08-05-2009 11:20:49)


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 08-05-2009 11:22:36

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Et pis t'as même pas dit si c'était en MySQL, en PostgreSQL ou en etc..., Boulet !

Trop fort, le premier à râler deux fois concécutives dans le même post tongue

Dernière modification par Maljuna Kris (08-05-2009 11:24:07)


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 08-05-2009 11:32:42

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Sujet Clos] [MySQL] Pointage !!!

Glop,

Et voila le SQL's papies club big_smile


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#5 08-05-2009 11:33:23

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

Re : [Sujet Clos] [MySQL] Pointage !!!

faut k'j'vous mâche le boulot en plus  roll

bon, on va dire en MYSql

la table

id
matricule
heure DATETIME ( date heure de pointage)



Comme ça, c'est plus claire ?

a++

Hors ligne

#6 08-05-2009 11:39:03

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Pierrot a écrit :

je voudrais connaître le temps de presence par periode et par individu wink

Définir période, SVP, Dankon.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 08-05-2009 11:41:57

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

Re : [Sujet Clos] [MySQL] Pointage !!!

période variable au choix de l'utilisateur wink
a++

Hors ligne

#8 08-05-2009 11:50:04

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Désolé mais votre question, en l'état, ne fait pas sens.
Une période se définit comme un espace de temps écoulé entre une date et une heure et une autre date et heure.
Les pointages n'étant pas typés, arrivée ou départ, doit-on accoupler les pointages 2 à 2 et considérer que le dernier est à accoupler avec NOW () ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 08-05-2009 11:56:06

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

Re : [Sujet Clos] [MySQL] Pointage !!!

>>Les pointages n'étant pas typés, arrivée ou départ, doit-on accoupler les pointages 2 à 2 et considérer que le dernier est à accoupler avec NOW () ?

le premier pointage est une arrivée et le dernier pointage est un départ;)
il doit y avoir un nombre paire de pointage pat jour wink
a++

Hors ligne

#10 08-05-2009 12:28:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Alors comme ça, moi, je sais faire.
Allez-y les d'jeun's, que je rigole.
Je vous donne qqes indices ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#11 08-05-2009 12:29:05

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Sujet Clos] [MySQL] Pointage !!!

Pierrot a écrit :

il doit y avoir un nombre paire de pointage pat jour wink

Sauf si un neuneu a oublié de pointer...!


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#12 08-05-2009 12:32:23

ManicoW
Cowrespondant
Lieu : Tours
Inscription : 08-05-2009
Messages : 190
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Plop,

Moi j'ai trouvé la solution : je vire le mec qui a mis en place cette structure de table a con et j'en fait une potable et simple a utiliser smile

Comme ça je suis radical ?

@+


la v2, c'est tabou, on en viendra tous a bout

Hors ligne

#13 08-05-2009 12:39:24

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Vous en êtes loin.
Et puis il n'y a pas besoin de neuneu, le gars qui n'est pas encore sorti, n'a pointé qu'à l'entrée.
Mais, fi de tout cela, même si, effectivement, il y aurait des coups de pieds au cul d'un certain concepteur qui ne seraient pas volés.
Un indice, il faut travailler avec plusieurs (au moins 2 donc) instanciations de la table que j'ai nommée `pointages`.
Sur ce je vous laisse car Papy MoKo doit s'occuper de ces deux petites filles Ambre (Sukceno) et Camille (Kamij), dont Fille Aînée lui a confié la garde en l'absence de Mamie Kat (Dame 4'in).
Amusez-vous bien, je ramasse les copies ce soir.
Amike


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#14 08-05-2009 14:44:34

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Alors, personne ?
Allez, je vous donne une solution (que je n'ai pas testée, mais bon, je la sens cor'assez)

SELECT p3.matricule,
       p3.pointage,
       suivants.hsuivant,
       TIMEDIFF(suivants.hsuivant, p3.pointage) AS presence
FROM pointages AS p3
INNER JOIN
          (SELECT p1.matricule,
                  p1.pointage,
                  MIN(p2.pointage) as hsuivant
           FROM pointages p1
           INNER JOIN pointages p2
           ON p1.matricule=p2.matricule
           AND p2.pointage > p1.pointage
           GROUP BY p1.matricule,p1.pointage
           HAVING MOD(COUNT(DISTINCT p2.pointage),2)=1
          ) AS  suivants
ON suivants.matricule=p3.matricule
AND suivants.pointage=p3.pointage

GROUP BY p3.matricule,p3.pointage,suivants.hsuivant

A vous de me dire si qqe chose cloche.
<ps>Je profite que mes 2 pissouses font leur siestounette</ps>
[j'ai comme l'impression que le dernier GROUP BY  sert à rien, pas vous]


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#15 12-05-2009 16:51:58

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

A vous de me dire si qqe chose cloche

heu, les S sur les :
- "FROM pointages AS p3"
- "FROM pointages p1 INNER JOIN pointages"

Pas tapéééé !!!

Dernière modification par Alnoss (12-05-2009 16:52:56)


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#16 12-05-2009 17:13:39

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Alnoss a écrit :

heu, les S sur les :
- "FROM pointages AS p3"
- "FROM pointages p1 INNER JOIN pointages"

Bougre d'âne !
pointageS c'est la table qui contient les lignes qui décrivent, chacune, un pointage.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#17 08-11-2009 13:05:49

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

Re : [Sujet Clos] [MySQL] Pointage !!!

Plop,

Moi j'ai trouvé la solution : je vire le mec qui a mis en place cette structure de table a con et j'en fait une potable et simple a utiliser smile

Comme ça je suis radical ?

Bon, l'heure des réglement de compte arrive wink big_smile

Manicow, tu passe a la compta wink

Cette structure fonctionne impécapble et est en production tel quelle wink big_smile

a++

Hors ligne

#18 07-03-2010 13:30:16

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

Re : [Sujet Clos] [MySQL] Pointage !!!

j'ai fêté le 150000 ieme pointage avec ma structure merdique big_smile:D:D
3 facturations et 3 payes (1500 employés)


j'me pose juste une question ?????

pk y en a qui conserve leur emploi ??????????? roll big_smile




a++

Hors ligne

#19 14-05-2010 23:52:12

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 620
Site Web

Re : [Sujet Clos] [MySQL] Pointage !!!

Bonjour,

Joli exercice de style maljuna!
En effet ton dernier group by est inutile^^. Pour que ta solution soit complète et réponde à la demande de pierrot reste cependant un petit détail à rajouter smile


...
SUM(TIME_TO_SEC(TIMEDIFF(suivants.hsuivant, p3.pointage))) AS presence
...
 

Le SUM permet d'obtenir qu'une seule ligne de résultat où la colonne présence affiche le temps de présence total de la personne concernée. Pour éviter les problèmes de conversion du format sexagésimal avec la somme, j'ai converti les temps de présence en secondes au préalable.
De plus pierrot a demandé une solution par employé et par période donnée, donc reste à rajouter :


...
ON suivants.matricule=p3.matricule
AND suivants.pointage=p3.pointage
AND suivants.matricule='$matricule'
AND p3.pointage BETWEEN '$initperiode' AND '$finperiode'
 

Dernière modification par Jc (15-05-2010 00:07:37)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#20 26-06-2014 13:13:26

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 180

Re : [Sujet Clos] [MySQL] Pointage !!!

Champagne !!!!!!!!!!
Plus de 10 000 000 de pointageS big_smile
pour une structure merdique, c'est pas mal non ?
Je viens même d'avoir les félicitations du DSI de cette boite, c'est le seul soft qui fonctionne bien big_smile big_smile
Bon, un mauvais point quand même, j'ai collaboré au autres softs qui tournent dans cette boite big_smile big_smile
Tu m'diras, j'men fous, j'boss plus pour cette boite depuis 2 ans big_smile big_smile

a++

Hors ligne

Pied de page des forums