Temps chrnometré SQL - PHP

Résolu
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   -  
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un léger problème, je fais actuellement un site retraçant les temps chronométrés de courses.

Le temps est de cette forme là: 1'12''325 (prononcé 1 minute 12 secondes 325 millièmes)
Malheureusement, je n'ai aucune idée de comment le mettre sous phpmyadmin, quel type de données ca peut bien être et surtout, comment comparé des temps ensuite dans ma requête.

Je suis à l'écoute de toutes vos idées.

Merci

12 réponses

filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
up!
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Le plus simple c'est certainement d'enregistrer tes temps sous forme d'entier.

Ecris une fonction qui te convertira 1'30''500 en 90500 (1*60*1000+30*1000+500) et une fonction qui fait l'inverse.
0
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
Merci c'est gentil de ta part, je ne vois pas torp comment faire la fonction inverse par contre.

Par contre, comment je fais dans mon script PHP, pour lui dire de s'arreter aux ' et " ?
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
attends 2 min je vais tenter de te bricoler quelque chose ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
Arf, ca j'avais compris, mais comment je peux lui dire de ne prendre que les chiffres et non les " ?
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Testé et approuvé !

function minutes_vers_milliemes($temps){
$minutes=substr($temps,0,strpos($temps,"'"));
$secondes=substr($temps,strpos($temps,"'")+1,strpos($temps,"''")-2);
$milliemes=substr($temps,strpos($temps,"''")+2);
return $minutes*60000+$secondes*1000+$milliemes;
}
function milliemes_vers_minutes($temps){
$minutes=floor($temps/60000);
$secondes=floor(($temps-$minutes*60000)/1000);
$milliemes=$temps-$minutes*60000-$secondes*1000;
return $minutes."'".$secondes."''".$milliemes;
}
echo minutes_vers_milliemes("1'2''345");
-> resultat : 62345

echo milliemes_vers_minutes(62345);
-> resultat : 1'2''345

echo milliemes_vers_minutes(minutes_vers_milliemes("1'2''345"));
-> resultat : 1'2''345

Améliorations éventuelles :
Convertir 2''345 (moins d'une minute, == 0'2''345)
Convertir 1'02''345 (== 1'2''345)

Voilà voilà, Ami Terrien :)
0
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
ouah impressionnant

Je venais de reussir avec un explode ;)

je coche résolu!
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Ouah impressionnant

Oui, c'est ce que mes petites amies me disent souvent ... lol lol
0
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
Bizarrement, la fonction marche sous localhost, mais pas sur le ftp free,

sous localhost, j'ai bien 62345 sous free j'ai 62000, il ne me compte pas les millièmes.

je ne comprend pas pourquoi
0
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
sous free, le temps sort de cette forme 1\'12\'\'536

peux tu m'aider stp?
0
filoulebauju Messages postés 170 Date d'inscription   Statut Membre Dernière intervention   8
 
non c''est bon, j'ai joué avec les substring!
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Rajoute plutôt "$temps = stripslashes($temps);" au début de la fonction "minutes_vers_milliemes", parce que si tu modifies les "substr", ça ne fonctionnera plus en local.
0