Calcul PHP

Fermé
julien07 Messages postés 12 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 13 juin 2007 - 11 juin 2007 à 14:53
 Alain42 - 11 juin 2007 à 18:07
Bonjour,

Je réalise actuellement un site. Dans la section "Report" du site, l'utilisateur rempli ces champs.

Pseudonym : ------- Ship :-----------

Harbour of : ---------- Departure : -----H -----Min

Harbour of : ---------- Arrival : -----H ----Min


J'ai créé une table REPORT avec les champs : id_report - harbour1 - harbour2 - heure1 - heure2 - min1 - min2

Avec une clé etrangère : "vmfnumero" qui correspond à l'id de l'utilisateur.

J'aimerais que les heures évolues en fonction des saisies de l'utilisateur et que le tous soit affiché dans un tableau.

Je cherche depuis pas mal de temps mais sans succés.

Si vous pouviez m'aider,

Merci

Julien
A voir également:

3 réponses

Bonjour,

Sois plus précis.
Si les heures sont celles saisies par l'utlisateur elles évolueront forcément, ou veux tu enregistrer l'heure courante.
Si le langage de prog que tu utilises est PHP va voir sur le site php la fonction date().
Attention en Mysql le format du champ type date enregistre la date- heure suivant un format spécifique aaaa mm dd hh mm ss différent de celui que tu penses afficher.

Ensuite où veux tu afficher le tableau ? dans une page HTML, dans le fromulaire .

Pour un tableau page HTML va voir le codage HTML avec les balises <table> </table> et les <tr></Tr> (lignes) <td></td> (colonnes).
0
julien07 Messages postés 12 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 13 juin 2007 2
11 juin 2007 à 15:19
Bonjour,

En faite, l'utilisateur entre une premiere heure (heure de depart) puis une seconde (heure d'arrivée).

Il faut que l'ecart entre les deux heures saisies soit stocké. Mais lorsque l'utilisateur saisie à nouveau une durée, il faut que celle ci s'ajoute à celle deja enregistrer.

Merci
0
Pour calculer l'écart entre les deux heures arrivée et départ il te faut transformer les dates en timstamp unix et ensuite tu fais la soustraction.

vas voir le site: http://phpcodeur.net/articles/php/dates

par exemple mktime (heure_saisie,minutes_saisie,secondes_saisie, date("Y,d,s"))

sachant que la fonction date("Y,d,s") te donnes la date du jour de l'enregistrement.

Tu stockes le resultat dans ta table. Dans un champ au format INT

Puis le coup d'après tu viens lire ce que tu as sauvegardé et tu le rajoutes à ton calcul et tu sauvegardes à nouveau.

Cordialement
0
julien07 Messages postés 12 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 13 juin 2007 2
11 juin 2007 à 17:26
Ok j'ai bien compris pour l'ecart entre deux temps mais comment dois-je faire pour ajouter une durée à l'autre déjà dans la table?

Désolé de ces question peut être simple mais je n'y connais pas grand chose et pourtant j'essaye.

Merci
0
Tu vas lire ce qui est déjà enregistré dans la table sous l'id utilisateur, puis tu le rajoutes au résultat (le tout doit être un timestamp c'est à dire un nombre de 10 chiffres environ).

sinon une autre solution c'est de transformer tes heures minutes arr et dep en minutes.
et d'enregistrer le nombre de minutes.

Pour afficher ensuite au format heures minutes tu redivises par 60 et tu fait mn=total-(h x 60).

C'est bien en PHP que tu fais ça ?

A quel moment veux tu que le total des temps s'affiche, au moment ou l'utilisateur a envoyé le formulaire de saisie , tu ré affiche avec le total ?
0
julien07 Messages postés 12 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 13 juin 2007 2 > Alain42
11 juin 2007 à 17:49
oui tout a fais.
0
Alain42 > Alain42
11 juin 2007 à 18:07
dans ta table tu n'as pas besoin de tous ces champs, seul le champ id_utilisateur et le temps_ passe, c'est ce dernier que tu réactualises à chaque fois.

Tu viens le lire et tu l'affiche dans ta page de formulaire au moment ou elle se charge.

Dès que l'utilisateur a rentré une valeur? tu fait le traitement, puis tu réaffiches la même page avec la nouvelle valeur de temps cumulé.
0