Calcul automatique
Résolu/Fermé
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
-
13 mai 2016 à 23:10
ced3c Messages postés 237 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 mai 2016 - 14 mai 2016 à 08:55
ced3c Messages postés 237 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 mai 2016 - 14 mai 2016 à 08:55
A voir également:
- Calcul automatique
- Calcul moyenne excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Message automatique thunderbird - Guide
- Gmail libellé automatique - Guide
- Sommaire automatique word - Guide
6 réponses
'soir
Comme souvent en programmation pour des tâches simples il y a plusieurs façons de faire. Celles ci pourront influer sur le programme si elles sont plus ou moins adapté au but voulu. L'essentiel est donc d'avoir une conception et analyse cohérente pour organiser les éléments du programme. Il est INDISPENSABLE en développement informatique et dans le web de séparer le résultat voulu en différentes parties:
_l'affichage et la présentation. C'est tout le contenu écris dans la page.
_les informations utiles au système d'informations= les données qui sont retenues par la base et que le programme utilisera
_la partie programme qui va permettre de gérer les deux autres aspects et les coordonnés ensemble
Par exemple pour parler technique plutôt que fonctionnement plusieurs solutions:
vous pouvez utiliser les valeurs écrites dans la page avec javascript(le DOM qui est la liste de tous les éléments de la page et leur contenu et attributs).
Comme souvent en programmation pour des tâches simples il y a plusieurs façons de faire. Celles ci pourront influer sur le programme si elles sont plus ou moins adapté au but voulu. L'essentiel est donc d'avoir une conception et analyse cohérente pour organiser les éléments du programme. Il est INDISPENSABLE en développement informatique et dans le web de séparer le résultat voulu en différentes parties:
_l'affichage et la présentation. C'est tout le contenu écris dans la page.
_les informations utiles au système d'informations= les données qui sont retenues par la base et que le programme utilisera
_la partie programme qui va permettre de gérer les deux autres aspects et les coordonnés ensemble
Par exemple pour parler technique plutôt que fonctionnement plusieurs solutions:
vous pouvez utiliser les valeurs écrites dans la page avec javascript(le DOM qui est la liste de tous les éléments de la page et leur contenu et attributs).
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
14 mai 2016 à 01:45
14 mai 2016 à 01:45
Merci beaucoup d'avoir pris le temps de me répondre jonor
Cette partie je l'avais en effet essayé dans l'ancien site et cela marchait très bien, je m'étais débrouillé pour arriver à faire tous les calculs.
Avant j'écrivais le code javascript en prenant tous les id que j'avais créé puisque j'écrivais le <table> moi-même.
Le problème ici est que le <table> est généré d'après la base de donnée.
Je ne sais pas comment je pourrais écrire un code javascript qui s'automatiserait d'après les données générées.
En clair, je voudrais que le code marche même si je rajoute des éléments à ma base de donnée. Faire un système de boucle qui s'accorderai aux données. Les "id" étant aléatoire celon les donnée que j'importe je ne sais pas comment faire.
Par exemple j'aimerai que le code effectue de manière automatique ceci:
-prends le prixCE de la premiere ligne et multiplie le avec l'input de la première ligne.
-fais pareil pour toutes les lignes
-Apres additionne le résultat des lignes et inscrit le dans l'input total_global
Etant donné que les éléments de la base de donnée peuvent changer, il me faut faire une boucle qui génère toute seule les résultats, mais avec mon pauvre niveau de débutant je suis dépassé.
Cette partie je l'avais en effet essayé dans l'ancien site et cela marchait très bien, je m'étais débrouillé pour arriver à faire tous les calculs.
Avant j'écrivais le code javascript en prenant tous les id que j'avais créé puisque j'écrivais le <table> moi-même.
Le problème ici est que le <table> est généré d'après la base de donnée.
Je ne sais pas comment je pourrais écrire un code javascript qui s'automatiserait d'après les données générées.
En clair, je voudrais que le code marche même si je rajoute des éléments à ma base de donnée. Faire un système de boucle qui s'accorderai aux données. Les "id" étant aléatoire celon les donnée que j'importe je ne sais pas comment faire.
Par exemple j'aimerai que le code effectue de manière automatique ceci:
-prends le prixCE de la premiere ligne et multiplie le avec l'input de la première ligne.
-fais pareil pour toutes les lignes
-Apres additionne le résultat des lignes et inscrit le dans l'input total_global
Etant donné que les éléments de la base de donnée peuvent changer, il me faut faire une boucle qui génère toute seule les résultats, mais avec mon pauvre niveau de débutant je suis dépassé.
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
14 mai 2016 à 01:51
14 mai 2016 à 01:51
Remarque je viens de penser en vous relisant à ceci:
Peut être si je créé un id="prix1" et un id="input1", puis je les incrémenter pour chaque ligne afin de faire :
un id="prix2" avec un id="input2"
un id="prix3" avec un id="input3"
un id="prix4" avec un id="input4"
Vu que je connais dans ce cas le "id" je peut faire:
(prix1 x input1) + (prix2 x input2) ...
Je ne sais pas trop si c'est possible
Peut être si je créé un id="prix1" et un id="input1", puis je les incrémenter pour chaque ligne afin de faire :
un id="prix2" avec un id="input2"
un id="prix3" avec un id="input3"
un id="prix4" avec un id="input4"
Vu que je connais dans ce cas le "id" je peut faire:
(prix1 x input1) + (prix2 x input2) ...
Je ne sais pas trop si c'est possible
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
Modifié par ced3c le 14/05/2016 à 02:50
Modifié par ced3c le 14/05/2016 à 02:50
pour l'instant j'arrive à faire cela:
générer in id pour le prix et un id pour l'inpout
Puis je calcule comme ceci:
probleme: var prix me renvoi une valeur "NAN" et je n'ai pas de problème dans la console du navigateur
générer in id pour le prix et un id pour l'inpout
<table>
<tr>
<td class="centrage" style="width:250px;">Désignation</td>
<td class="centrage" style="width:50px">Degré</td>
<td class="centrage" style="width:50px">Capacité</td>
<td class="centrage" style="width:50px">Prix public</td>
<td class="centrage" style="width:50px">prix CE</td>
<td class="centrage" style="width:50px">Quantité</td>
</tr>
<?php
$reponse = $bdd->query('SELECT * FROM brasserie_pepere');
$i = 1;
$p = 1;
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<center>
<tr>
<td style="width:250px"><center><?php echo $donnees['designation']; ?><br /> <?php echo $donnees['surnom']; ?></center></td>
<td class="centrage" style="width:45px"><?php echo $donnees['degre']; ?></td>
<td class="centrage" style="width:45px"><?php echo $donnees['capacite']; ?></td>
<td class="centrage" style="width:45px"><?php echo $donnees['prix']; ?>€</td>
<td class="centrage" style="width:45px"><p id="prix<?php echo $p;?>"><?php echo $donnees['prix_ce']; ?></p></td>
<td class="centrage" style="width:70px">
<img src="image/moins.png" class="moins" onclick="calcul();"/>
<img src="image/plus.png" class="plus" onclick="calcul();"/>
<input id="input<?php echo $i;?>"type="text" style="width:20px;text-align:center;" value="2" readonly="readonly">
</td>
</tr>
</center>
<?php
$i = $i + 1;
$p = $p + 1;
//$id = $donnees['id_biere'];
}
$reponse->closeCursor(); // Termine le traitement de la requête
?>
<tr>
<td colspan="5" style="border:none;text-align:right;padding-right: 10px;">Total </td>
<td><center><input id="total_commande" type="text" style="width:50px;text-align:center;" value="0.00" readonly="readonly">€</center></td>
</tr>
</table>
Puis je calcule comme ceci:
function calcul(){
var total_commande = document.getElementById('total_commande');
var prix = parseFloat(document.getElementById('prix1').value);
var input = document.getElementById('input1').value;
var total_ligne = prix * input;
total_commande.value = total_ligne;
}
probleme: var prix me renvoi une valeur "NAN" et je n'ai pas de problème dans la console du navigateur
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
14 mai 2016 à 08:44
14 mai 2016 à 08:44
On dirait que je ne peux pas récupérer la valeur généré par php.
Existe t il une façon de la récupérer ?
dans cet exemple:
valeur à récupérer
id="prix<?php echo $p;?>" indique bien quand j'inspecte la page : prix1
et <?php echo $donnees['prix_ce']; ?> indique: 2.25
normalement total_commande.value devrais me retourner la valeur "2.25" mais à la place j'ai un joli NAN
Je ne vois pas quelle est mon erreur.
Existe t il une façon de la récupérer ?
dans cet exemple:
valeur à récupérer
<td class="centrage" style="width:45px"><p id="prix<?php echo $p;?>"><?php echo $donnees['prix_ce']; ?></p></td>
id="prix<?php echo $p;?>" indique bien quand j'inspecte la page : prix1
et <?php echo $donnees['prix_ce']; ?> indique: 2.25
var total_commande = document.getElementById('total_commande');
var prix = parseFloat(document.getElementById('prix1').value);
total_commande.value = prix;
normalement total_commande.value devrais me retourner la valeur "2.25" mais à la place j'ai un joli NAN
Je ne vois pas quelle est mon erreur.
ced3c
Messages postés
237
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
28 mai 2016
5
Modifié par ced3c le 14/05/2016 à 08:56
Modifié par ced3c le 14/05/2016 à 08:56
pour info je viens de trouver
var prix = document.getElementById("prix1").innerHTML;
plus qu'a faire une boucle et cela devrais marcher
voilou et merci jonor pour m'avoir aiguiller
var prix = document.getElementById("prix1").innerHTML;
plus qu'a faire une boucle et cela devrais marcher
voilou et merci jonor pour m'avoir aiguiller
14 mai 2016 à 00:40
<td class="centrage" style="width:45px">
<p id="prix"><?php echo $donnees['prix'];</p> ?>€</td>
Avec la fonction getElementById on obtient toute la balise(objet en programmation, c'est un regroupement de variables et méthodes pour définir des 'modèles') repérée par l'identifiant id="prix"
Avec la fonction .value on obtient la "valeur" de son contenu, donc le prix marqué par PHP(j'ai mis un texte de paragraphe(balise 'p') pour séparer le syùmbole € qui sinon serais pris dans la valeur de la cellulle du tableau.
document.getElementById('prix').value correspond donc à la valeur écrite par PHP à partir des ressources fournies par la base.
En rajoutant e formulaire et ses champs pour mettre le nombre d'article on peut pense à ça pour chaque ligne/article:
<input type='number' id="nombrearticles" />
Et donc pour obtenir le montant pour cette ligne d'article l'opération est une simple multiplication des 2 valeurs inscrites dans la page:
var totalligne=document.getElementById('prix')*document.ghetElementById('nombrearticles');