A voir également:
- Calcul php formulaire
- Calcul moyenne excel - Guide
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
11 réponses
Salut,
Mon problème c'est que je ne sais pas faire le calcul car j'ai voulu faire un test avec simplement deux champs et je n'ai pas réussit.
Ensuite pour l'affichage je préférerais qu'il soit automatique mais si on ne peut pas alors j'accepterais de l'afficher avec un bouton.
J'espère que c'est un peu plus clair.
Cordialement.
Mon problème c'est que je ne sais pas faire le calcul car j'ai voulu faire un test avec simplement deux champs et je n'ai pas réussit.
Ensuite pour l'affichage je préférerais qu'il soit automatique mais si on ne peut pas alors j'accepterais de l'afficher avec un bouton.
J'espère que c'est un peu plus clair.
Cordialement.
Il n'y a pas quelqu'un qui à une idée pour remédier à mon problème svp ? Merci d'avance
Il y une solution pour l'affichage automatique, sans rechargement de la page ni click avec bouton
fais un tour du coté d'AJAX c'est un peux compliqué mais ça vaux le coup
Pour l'affichage via bouton et rechargement, c simple
1- un formulaire HTML qui envoie les données
2- un script PHP qui reçoit les donnée envoyé via les tableaux $_POST où $_GET
Pour le calcule il y a une multitude de fonction de date et heure sous php qui peuvent t'aider
Essai de faire un explode des données récupérées puis utilise mktime
fais un tour du coté d'AJAX c'est un peux compliqué mais ça vaux le coup
Pour l'affichage via bouton et rechargement, c simple
1- un formulaire HTML qui envoie les données
2- un script PHP qui reçoit les donnée envoyé via les tableaux $_POST où $_GET
Pour le calcule il y a une multitude de fonction de date et heure sous php qui peuvent t'aider
Essai de faire un explode des données récupérées puis utilise mktime
Bon j'espère que je vais savoir le faire avec AJAX car je n'y connais rien du tout.
Et avec le bouton c ske javai essayer de faire mais okun succès mais bon à mon avis les erreurs sont nombreuses.
Merci pour les conseils en tout cas.
Je repasserais sûrement sur cette conversation si je ne trouve pas.
Et avec le bouton c ske javai essayer de faire mais okun succès mais bon à mon avis les erreurs sont nombreuses.
Merci pour les conseils en tout cas.
Je repasserais sûrement sur cette conversation si je ne trouve pas.
Désolé de répondre aussi tard mais je suis rentré du boulot :
Selon moi tu devrais chercher du côté du timestamp pour tes calculs, si je me souviens bien il y a des fonctions pour donner le timestamp des dates.. ça serait plus facile pour calculer une fois tout mis en secondes..
ensuite pour le bouton faire une page php avec au début un
if (isset('champ1') and isset('champ2') and isset('champ3') and isset('champ4') //si les champs existent, donc si tes champs ont été remplis, donc si tu recharges ta page via le bouton submit
tu fais ton calcul et tu affiches ton formulaire avec les résultats
else //si les champs ne sont pas remplis c'est que c'est la première fois que tu charges la page
tu affiches ton formulaire de départ
Le truc c'est que dans ton formulaire tu ne mets pas d'action (dans la balise form) ce qui aura pour effet au click sur le bouton submit de recharger la page, mais comme les champs auront été rempli la condition sera remplie elle aussi et ont calculera et affichera le résultat du calcul
(je poste cela mais n'ai pas pris le temps de lire les post précédents, dsl)
Selon moi tu devrais chercher du côté du timestamp pour tes calculs, si je me souviens bien il y a des fonctions pour donner le timestamp des dates.. ça serait plus facile pour calculer une fois tout mis en secondes..
ensuite pour le bouton faire une page php avec au début un
if (isset('champ1') and isset('champ2') and isset('champ3') and isset('champ4') //si les champs existent, donc si tes champs ont été remplis, donc si tu recharges ta page via le bouton submit
tu fais ton calcul et tu affiches ton formulaire avec les résultats
else //si les champs ne sont pas remplis c'est que c'est la première fois que tu charges la page
tu affiches ton formulaire de départ
Le truc c'est que dans ton formulaire tu ne mets pas d'action (dans la balise form) ce qui aura pour effet au click sur le bouton submit de recharger la page, mais comme les champs auront été rempli la condition sera remplie elle aussi et ont calculera et affichera le résultat du calcul
(je poste cela mais n'ai pas pris le temps de lire les post précédents, dsl)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est gentil pour ta réponse mais si je recharge la page ca va me changer certaines dates et heures ca qui fait que je n'aurait plus les même puisque j'ai fait en sorte qu'ellles s'affichent automatiquement à l'ouverture du formulaire.
De rien pour la réponse, faut bien s'aider ^^
Pour le problème de recharger je pense qu'il n'y en a pas en fait, je dis recharger mais ça n'aura pas le même effet que si tu réactualises (je sais pas si tu vois ce que je veux dire..).. et de plus tu peux automatiquement reremplir ces champs avec les dates que tu avais avant de recharger et ce en utilisant les variables $_POST[] dans l'attribut value des champs..
J'espère être compréhensible..
Pour le problème de recharger je pense qu'il n'y en a pas en fait, je dis recharger mais ça n'aura pas le même effet que si tu réactualises (je sais pas si tu vois ce que je veux dire..).. et de plus tu peux automatiquement reremplir ces champs avec les dates que tu avais avant de recharger et ce en utilisant les variables $_POST[] dans l'attribut value des champs..
J'espère être compréhensible..
Tiens si jamais tu as décidé de retenir ma méthode et d'utiliser le timestamp pour effectuer tes calculs cela devrait t'aider :
Conversions d'une date vers un timestamp
PHP permet de convertir une date vers un timestamp. Pour ce faire, on utilise la fonction mktime(). Elle va vous permettre à partir du jour, de l'heure, etc ... d'une date classique, d'obtenir le timestamp correspondant. Ce timestamp pourra être ensuite stocké ou encore subir des traitements. Voici la syntaxe de base de la fonction mktime() :
<?php
$timestamp = mktime(heures, minutes, secondes, mois, jour, année);
?>
Si vous voulez obtenir le timestamp du 3 janvier 1988 à 2h31 et 10 secondes, vous pouvez mettre ceci :
<?php
echo mktime(2, 31, 10, 1, 3, 1988);
?>
(source : https://www.vulgarisation-informatique.com/dates-php.php
Conversions d'une date vers un timestamp
PHP permet de convertir une date vers un timestamp. Pour ce faire, on utilise la fonction mktime(). Elle va vous permettre à partir du jour, de l'heure, etc ... d'une date classique, d'obtenir le timestamp correspondant. Ce timestamp pourra être ensuite stocké ou encore subir des traitements. Voici la syntaxe de base de la fonction mktime() :
<?php
$timestamp = mktime(heures, minutes, secondes, mois, jour, année);
?>
Si vous voulez obtenir le timestamp du 3 janvier 1988 à 2h31 et 10 secondes, vous pouvez mettre ceci :
<?php
echo mktime(2, 31, 10, 1, 3, 1988);
?>
(source : https://www.vulgarisation-informatique.com/dates-php.php
tu aurais un exemple de calcul de ce genre?
J'ai peu de connaissance on va dire.
J'ai peu de connaissance on va dire.
C'est juste de la logique..
$date1= 12/10/2008
tu fais une petite fonction pour récupérer le mois le jour et l'année puis tu fais : $timestamp_date1= mktime(0, 0, 0, $mois, $jour, $annee); Les 0 s'expliquent par le fait que l'on ne tiennes pas comtpe des heures, minutes, secondes. On aurait pu mettre n'importe quoi, l'essentiel étant de mettre la même chose pour la deuxième date.
ici avec $mois= 10, $jour= 12 et $annee= 2008 on obtient : $timestamp_date1= 1223762400
Tu fais la même chose avec ta deuxième date puis tu fais une soustraction entre les timestamp et tu auras la différence entre les 2 dates.
Ensuite tu utilises une autre fonction pour avoir le résultat en minutes (le timestamp exprime un nombre de secondes).
En faisant $diff_timestamp= $timestamp1-timestamp2;
Puis $diff_timestamp= date('i', $diff_timestamp) tu auras ta différence entre les 2 dates en minutes !
(date() permet de convertir un timestamp en autre chose, i correspond aux minutes)
$date1= 12/10/2008
tu fais une petite fonction pour récupérer le mois le jour et l'année puis tu fais : $timestamp_date1= mktime(0, 0, 0, $mois, $jour, $annee); Les 0 s'expliquent par le fait que l'on ne tiennes pas comtpe des heures, minutes, secondes. On aurait pu mettre n'importe quoi, l'essentiel étant de mettre la même chose pour la deuxième date.
ici avec $mois= 10, $jour= 12 et $annee= 2008 on obtient : $timestamp_date1= 1223762400
Tu fais la même chose avec ta deuxième date puis tu fais une soustraction entre les timestamp et tu auras la différence entre les 2 dates.
Ensuite tu utilises une autre fonction pour avoir le résultat en minutes (le timestamp exprime un nombre de secondes).
En faisant $diff_timestamp= $timestamp1-timestamp2;
Puis $diff_timestamp= date('i', $diff_timestamp) tu auras ta différence entre les 2 dates en minutes !
(date() permet de convertir un timestamp en autre chose, i correspond aux minutes)
Ok je veux bien essayer mais j'ai pas très bien compris ce qu'est un timestamp ?
extrait du site du zéro (www.siteduzero.com) :
Un timestamp, c'est un nombre.
C'est le nombre de secondes écoulées depuis le 1er Janvier 1970 à Minuit.
Pourquoi depuis le 1er Janvier 1970 à Minuit ? C'est symbolique, il fallait bien prendre un point de départ.
En fait, ça représente le début de l'époque où le système d'exploitation Unix a été créé. Peut-être avez-vous déjà entendu parler de Unix ? Il est à la base de Linux, un système d'exploitation comme Windows (sauf qu'il est gratuit, mais ne nous égarons pas ^^).
Bref, le 1er Janvier 1970 à Minuit, le timestamp avait pour valeur 0. Aujourd'hui, beaucoup beaucoup de secondes se sont écoulées, vous devez vous en douter.
(si tu as besoin de tutoriel tu peux aller voir sur cet excellent site très clair et très abordable)
Un timestamp, c'est un nombre.
C'est le nombre de secondes écoulées depuis le 1er Janvier 1970 à Minuit.
Pourquoi depuis le 1er Janvier 1970 à Minuit ? C'est symbolique, il fallait bien prendre un point de départ.
En fait, ça représente le début de l'époque où le système d'exploitation Unix a été créé. Peut-être avez-vous déjà entendu parler de Unix ? Il est à la base de Linux, un système d'exploitation comme Windows (sauf qu'il est gratuit, mais ne nous égarons pas ^^).
Bref, le 1er Janvier 1970 à Minuit, le timestamp avait pour valeur 0. Aujourd'hui, beaucoup beaucoup de secondes se sont écoulées, vous devez vous en douter.
(si tu as besoin de tutoriel tu peux aller voir sur cet excellent site très clair et très abordable)
Merci ca va bien m'aider ce que tu m'as expliqué.
Par contre mes dates sont des dates saisies par l'utilisateur donc c'est là qui faut que je me serve du $_POST["nom du champ"] ???
Par contre mes dates sont des dates saisies par l'utilisateur donc c'est là qui faut que je me serve du $_POST["nom du champ"] ???
Non, à partir des dates rentrées par l'utilisateur (j'espère que tu vérifies ce que rentre l'utilisateur en passant) tu vas juste devoir récupérer le jour le mois la date dans des variables (et les heures et minutes pour ton autre cas) pour pouvoir ensuite faire tes calculs.
Normalement pour ouvrir ton formulaire tu as ça : <form method="post"> le fait de ne pas mettre d'attribut action="nomdepage.php" va recharger la page au click ; mais les champs qui étaient remplis vont alors se retrouvés vides..
Dans la balise form on a écrit method= "post", cela indique la méthode de transfert d'information (je pense que tu le sais, désolé si c'est le cas). On va donc récupérer ces informations en utilisant $_POST.
Tes champs devraient ressembler à ça : <input type="text" size="50" name="champ"/>
Au rechargement de la page $_POST['champ'] vaudra la valeur qu'avait ton champ nommé "champ".
En écrivant <input type="text" size="50" name="titre" value="<?php $_POST['champ'] ?>"/> tu retrouveras ton champ qui sera rempli avec la valeur qu'il contenait.
Normalement pour ouvrir ton formulaire tu as ça : <form method="post"> le fait de ne pas mettre d'attribut action="nomdepage.php" va recharger la page au click ; mais les champs qui étaient remplis vont alors se retrouvés vides..
Dans la balise form on a écrit method= "post", cela indique la méthode de transfert d'information (je pense que tu le sais, désolé si c'est le cas). On va donc récupérer ces informations en utilisant $_POST.
Tes champs devraient ressembler à ça : <input type="text" size="50" name="champ"/>
Au rechargement de la page $_POST['champ'] vaudra la valeur qu'avait ton champ nommé "champ".
En écrivant <input type="text" size="50" name="titre" value="<?php $_POST['champ'] ?>"/> tu retrouveras ton champ qui sera rempli avec la valeur qu'il contenait.
En ce qui concerne mon formulaire il n'y a que deux bouton : un qui envoi à mon fichier "traitement.php" les données saisis pour qu'il les envois après les avoir vérifier à la base de donnée et un autre appelé "reset" qui efface toute les données en cas d'erreur.
Ensuite si mes champs heure ou dates ne sont pas remplis je dois faire en sorte d'affecter 0 à mon champ de résultat du calcul.
Je souhaitais utiliser un "if...else" mais je me demandais si j'ai possibilité de faire tout ca qu'en php ?
Ensuite si mes champs heure ou dates ne sont pas remplis je dois faire en sorte d'affecter 0 à mon champ de résultat du calcul.
Je souhaitais utiliser un "if...else" mais je me demandais si j'ai possibilité de faire tout ca qu'en php ?
hmmm.. en fait je crois que je n'avais pas bien compris ce que tu veux faire, je pensais que à partir du formulaire où sont remplis les champs contenant les dates tu voulais réafficher ce formulaire avec les champs résultats remplis..
Au final ton seul problème est de faire le calcul non ?
Au final ton seul problème est de faire le calcul non ?
oui c'est ca tout en affectant zero au resultat si des champs dates ouheures ne sont pas saisis pour l'utilisateur.
J'ai besoin d'affecter zer car comme j'ai plusieurs calcul du même type et qu'à la fin j'ai un total final et bien j'ai besoin d'affecter zero.
J'espère que je me suis mieux exprimée.
Quant au calcul je regarde sur le site que vous m'avez conseillé et j'espère pouvoir le faire sans trop de difficultés.
Mais bon...
Si vous avez un exemple concret de mon type de calcul avec l'affectation zéro je vous le demanderait volontier.
Merci
J'ai besoin d'affecter zer car comme j'ai plusieurs calcul du même type et qu'à la fin j'ai un total final et bien j'ai besoin d'affecter zero.
J'espère que je me suis mieux exprimée.
Quant au calcul je regarde sur le site que vous m'avez conseillé et j'espère pouvoir le faire sans trop de difficultés.
Mais bon...
Si vous avez un exemple concret de mon type de calcul avec l'affectation zéro je vous le demanderait volontier.
Merci