La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Somme d'un "Time" dans une autre table
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Somme d'un "Time" dans une autre table  (Lu 1199 fois)
Somme d'un "Time" dans une autre table
« sur: le 23-04-2011 a 21:34:22 »
VTA001
Membre récent
*

Hors-Ligne

Messages: 3





Voir le Profil    E-Mail
Répondre avec citation

Bonjour à tous,

N'étant pas très très à l'aise avec MySQL, j'aurais besoin d'aide pour réaliser un petit truc... je ne sais même pas si c'est réalisable, mais bon, qui ne tente rien n'a rien...

Je vais tenter de vous présenter au mieux le "soucis" et ce que je souhaiterais faire.

Je dispose dans une table MySQL (de 18 champs) un champ "duration" au format TIME. Actuellement, j'ai dans cette table plus de 4000 entrées.

Je souhaiterais faire la chose suivante. Dans cette table, chaque entrée est reliée à un membre de mon site par un numéro de membre (qui est donc un autre champ de la table). Je souhaiterais que dans une autre table, un champ "total" (par exemple) fasse la somme de tous les champs "duration" pour chacun de mes membres (au nombre de 55 pour l'instant).

En bref, je souhaiterais créer une nouvelle table avec seulement 2 champs : un champ pour le numéro de membre, et un autre champ qui va faire la somme du champ "duration" pour ce membre là.

Est-ce réalisable ? Si oui, comment ?

Merci par avance pour votre aide de pro !

Rapporter au modérateur  

Re:Somme d'un "Time" dans une autre table
« Répondre #1 sur: le 24-04-2011 a 14:45:29 »
MarvinLeRouge
Superactif
****

Hors-Ligne

Messages: 584





Voir le Profil    WWW
Répondre avec citation

Salut,

1) C'est réalisable. Ca se ferait par exemple avec une vue qui contiendrait pour la colonne duration un truc du genre "SELECT SUM(duration) WHERE userID = monUserID"
2) Ce n'est pas forcément nécessaire. Il existe un système nommé trigger : le principe est d'indiquer à mysql que lorsqu'un évènement (ajout, mise à jour, suppression) arrive sur une table, il doit déclencher automatiquement une procédure.
Je pense qu'un trigger serait le mieux : tu ajoutes une colonne genre totalDuration à ta table user, et tu mets un trigger sur ta table contenant les entrées de durée pour qu'à chaque modification de cette table, la table user soit mise à jour.

Rapporter au modérateur  

Développeur web / Création de site internet
jean@ceugniet.com
Jean Ceugniet, Développement web
SIRET : 523 611 044 00018
Re:Somme d'un "Time" dans une autre table
« Répondre #2 sur: le 24-04-2011 a 14:49:09 »
VTA001
Membre récent
*

Hors-Ligne

Messages: 3





Voir le Profil    E-Mail
Répondre avec citation

Merci pour l'info Marvin !

J'avais bien entendu parler de cette fonction "trigger", mais je n'ai pas pensé à regarder ce que c'était...

Bon, maintenant, il faut que j'arrive à mettre ça en place. Je vais essayer de chercher sur internet, mais je suis preneur de tout coup de main !

Rapporter au modérateur  
Re:Somme d'un "Time" dans une autre table
« Répondre #3 sur: le 25-04-2011 a 10:40:16 »
MarvinLeRouge
Superactif
****

Hors-Ligne

Messages: 584





Voir le Profil    WWW
Répondre avec citation

Je ne suis pas plus habitué que toi à trigger, mais j'ai regardé la syntaxe sur la doc de mysql, c'est pas sorcier.

Rapporter au modérateur  

Développeur web / Création de site internet
jean@ceugniet.com
Jean Ceugniet, Développement web
SIRET : 523 611 044 00018
Re:Somme d'un "Time" dans une autre table
« Répondre #4 sur: le 25-04-2011 a 10:42:38 »
VTA001
Membre récent
*

Hors-Ligne

Messages: 3





Voir le Profil    E-Mail
Répondre avec citation

J'ai essayé, j'ai utilisé la bonne syntaxe... Et puis, finalement, j'ai découvert que je n'avais pas le droit "SUPER" sur ma table (merci OVH), et que donc je ne peux pas mettre en place de trigger.

Je vais faire autrement. Merci pour l'aide !

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg