Chronometrage avec php mysql

BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention   -  
BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour.

Je me pose une question au sujet d'un éventuel projet de script pour faire du chronometrage via php/mysql

Je m'explique,

Je suis membre d'un motoclub et nous souhaitons mettre en place une " course ". Le déroulement de la course sera d'environ 50 participants.

L'objectif serait de faire un départ toute les 30sec d'un pilote. Donc via un formulaire j'entre le numéro du pilote au départ et à la validation du formulaire le timestamp s'enregistre dans une table sql. Au moment de l'arrivé, je valide à nouveau un formulaire qui enregistre le timestamp à nouveau dans une autre table... Ainsi de suite pour les autres participants. En fin de course je fais une requête qui va ressortir chaque participants avec les timestamp départ arrivee puis je fais la différence

D'après vous c'est jouable ??
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

au départ et à la validation du formulaire le timestamp s'enregistre dans une table sql. Au moment de l'arrivé, je valide à nouveau un formulaire qui enregistre le timestamp à nouveau dans une autre table

Pourquoi dans une autre Table ? (c'est possible..mais quel en est l'interet ?)
Le plus simple étant de mettre dans la même .....

Une table du style : tbl_coureurs (id,num_coureur,date_depart,date_arrivee)


En fin de course je fais une requête qui va ressortir chaque participants avec les timestamp départ arrivee puis je fais la différence

Facile... en fonction du SGBD que tu utilises (Sql Server, Oracle, Mysql....) des fonctions existent pour cela.
En mysql par exemple : la fonction datediff ou TIMESTAMPDIFF feront l'affaire....



0
BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention   45
 
Je vais faire en essai, mais je peur de ne pas être suffisamment précis sur avec le timestamp et le délai d'enregistrement de la requête ... Il y aura donc un temps supplémentaire plutot aléatoire.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention  
 
ça risque vraiment d'être minim .. le temps d'exécution pour ce type de requête étant de quelques millisecondes
De plus.. si tu es en Mysql > 5.6.4
tu pourras utiliser https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html ... donc c'est tout bon pour la précision ;-)
0
BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention   45
 
au top !

du coup pour le stockage du timestamp avec les centième de seconde je ne vais pas pouvoir faire le stockage dans ma table avec un (INT) ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention  
 
Ah ben non.
Une date (un timestamp, datetime, time...) ça se stocke dans le format (dateTime ou TimeStamp).
Ce que tu sauvegardes .. ce sont : date/heure de départ .... date/heure d'arrivée.
Ensuite pour connaitre le temps écoulé (qu'on ne stocke pas en bdd)... une des fonctions que je t'ai donné et le tour est joué.
0
BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention   45
 
car habituellement je stock mes timestamp dans un INT et ensuite je convertie mon timestamp en date complète dans un echo
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

Vous entrez quel timestamp? Celui du serveur?

Ca ne marchera pas pour chronométrer des sportifs, car l'action sur le clavier n'est pas traitée immédiatement par le serveur. Délai de 1 ms à plusieurs secondes!

A+
0
BanBan55 Messages postés 363 Date d'inscription   Statut Membre Dernière intervention   45
 
oui celui du serveur
J'avais un doute justement à propos du temps d'ajout à la base de données
0