Comment incrémenter une boucle avec des conditions
Résoluflexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous
je souhaiterais incrémenter ma boucle afin de découvrir combien d'article il y a dans le panier en tenant en compte le type de nom
Par exemple si le nom de l'article est 77777 on incrémente de 10
Si le nom de l'article est 88888 on incrémente de 20
si non on incrémente de 1
cela fonctionne pour 1 passage
Mais si j'ajoute par exemple 4 fois l'article 77777 cela me retourne 10 au lieu de 40
voici ma boucle
var count=0; for(var i in panierArray) { output += "<div class='row' style='border-style: ridge; border-width: 1px; border-color: #8ebf42; background-color: #d9d9d9;margin-bottom:5px;'>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + " <a class='example-image-link' href='"+ panierArray[i].url +"'data-lightbox='example-set'><img src="" style='width:100px;height:100px;'></a>" + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].nom + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].prix.toFixed(0) + " euro</div>" + "<div class='form-inline col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>" + "<input type='number' min='1' class='form-control item-quantite' style='width:55px !important' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>" + "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].total + " euros</div>" + "</div>"; if (panierArray[i].nom == 77777) { //on incremente count de 10 count=count +10 } else if (panierArray[i].nom == 88888) { //on incremente count de 20 count=count +20 } else if (panierArray[i].nom == 99999) { //on incremente count de 20 count=count +30 }else { count=count +1 } var counttotal =count; console.log(counttotal); }
Windows / Chrome 103.0.5060.66
- Comment incrémenter une boucle avec des conditions
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Je ne suis pas un robot confidentialité - conditions ✓ - Forum Mail
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Excel champ calculé avec condition - Forum Excel
7 réponses
bonjour,
moi, si je voulais savoir ce que faisait la boucle, j'ajouterais, dans la boucle un console.log() avec les valeur de i, panierArray[i].nom, panierArray[i].quantite et count.
Quand tu écris "j'ajoute par exemple 4 fois l'article 77777", cela signifie bien que tu as 4 lignes dans le panier pour cet article?
plus propre:
var f = 0 for(var i in panierArray) { output += "<div class='row' style='border-style: ridge; border-width: 1px; border-color: #8ebf42; background-color: #d9d9d9;margin-bottom:5px;'>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + " <a class='example-image-link' href='"+ panierArray[i].url +"'data-lightbox='example-set'><img src="""" style='width:100px;height:100px;'></a>" + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].nom + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].prix.toFixed(0) + " euro</div>" + "<div class='form-inline col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>" + "<input type='number' min='1' class='form-control item-quantite' style='width:55px !important' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>" + "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].total + " euros</div>" + "</div>"; if (panierArray[i].nom == 77777) { f=10 } else if (panierArray[i].nom == 88888) { f=20 } else if (panierArray[i].nom == 99999) { f=30 }else { f=1 } count=count + (f * Number(panierArray[i].quantite)) console.log(count);
bonjour yg_be
oui voila 4 lignes avec l'articles 77777
Enfin pas vraiment 4 lignes , mais plutôt une seule ligne avec la quantité a 4
comme cet exemple

Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionnon je veux compter les quantités pas les lignes
je me sers de count pour essayer de compter la quantité les articles
Mais dans la boucle cela se passe avec la variable panierArray[i].quantite
voici ce que donne les consoles.log
si j'ajoute 77777
nombre de i******0 panierArray[i].nom ******77777 panierArray[i].quantite**** 1 count *****10 counttotal *****10
si j'ajoute un article
nombre de i******0 panierArray[i].nom ******77777 panierArray[i].quantite**** 1 p count *****10 counttotal *****10 nombre de i******1 panierArray[i].nom ******2006 panierArray[i].quantite**** 1 count *****11 counttotal *****11
a présent je change la quantité de 2006 et je la mets a deux
nombre de i******0 panierArray[i].nom ******77777 panierArray[i].quantite**** 1 count *****10 counttotal *****10 nombre de i******1 panierArray[i].nom ******2006 panierArray[i].quantite**** 2 count *****11 counttotal *****11
cela aurait du évoluer a 12pour count et counttotal
Merci jordane mais en fessant de cette manière j'obtiens ce message d'erreur
Uncaught SyntaxError: unexpected token: '+='
voici mon code
for(var i in panierArray) { output += "<div class='row' style='border-style: ridge; border-width: 1px; border-color: #8ebf42; background-color: #d9d9d9;margin-bottom:5px;'>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + " <a class='example-image-link' href='"+ panierArray[i].url +"'data-lightbox='example-set'><img src="" style='width:100px;height:100px;'></a>" + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].nom + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].prix.toFixed(0) + " euro</div>" + "<div class='form-inline col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>" + "<input type='number' min='1' class='form-control item-quantite' style='width:55px !important' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>" + "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].total + " euros</div>" + "</div>"; if (panierArray[i].nom == 77777) { //on incremente count de 10 var cont1 += Number(panierArray[i].quantite) *10 console.log(cont1); } else if (panierArray[i].nom == 88888) { //on incremente count de 20 var cont2 += Number(panierArray[i].quantite) *20 console.log(cont2); } else if (panierArray[i].nom == 99999) { //on incremente count de 20 var cont3 += Number(panierArray[i].quantite) *30 console.log(cont3); }else { var cont4 += Number(panierArray[i].quantite) *1; console.log(cont4); } var total= Number (cont1) + Number (cont2) + Number (cont3) + Number (cont4) ; console.log(total); //console.log("nombre de i******" + i + " "); //console.log("panierArray[i].nom ******" + panierArray[i].nom + " "); //console.log("panierArray[i].quantite**** " + panierArray[i].quantite + " "); //console.log("count *****" + count + " "); //counttotal=count; //console.log("counttotal *****" + counttotal + " "); }
super pour ce qui est des quantité cela semble fonctionner
par contre je ne sais pas si je m'y prends bien pour tout additionner
car la somme de mes 4 conditions n'est pas bonne
il prends en charge la dernière quantité que je rentre pour chaque condition
ce qui semble normal
Mais comment additionner mes conditions
var panierArray = MonPanier.listpanier(); var output = ""; var countart=0; var countart2=0; var count=0; var count1=0; var count2=0; var count3=0; var count4=0; for(var i in panierArray) { output += "<div class='row' style='border-style: ridge; border-width: 1px; border-color: #8ebf42; background-color: #d9d9d9;margin-bottom:5px;'>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + " <a class='example-image-link' href='"+ panierArray[i].url +"'data-lightbox='example-set'><img src="" style='width:100px;height:100px;'></a>" + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].nom + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].prix.toFixed(0) + " euro</div>" + "<div class='form-inline col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>" + "<input type='number' min='1' class='form-control item-quantite' style='width:55px !important' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>" + "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].total + " euros</div>" + "</div>"; if (panierArray[i].nom == 77777) { //on incremente count de 10 count1=count + (10 * Number(panierArray[i].quantite)) console.log(count1); } else if (panierArray[i].nom == 88888) { //on incremente count de 20 count2=count + (20 * Number(panierArray[i].quantite)) console.log(count2); } else if (panierArray[i].nom == 99999) { //on incremente count de 20 count3=count + (30 * Number(panierArray[i].quantite)) console.log(ccount3); }else { count4=count + (1 * Number(panierArray[i].quantite)) console.log(count4); } console.log("total"); var total= Number (count1) + Number (count2) + Number (count3) + Number (count4) ; console.log(total); //console.log("nombre de i******" + i + " "); //console.log("panierArray[i].nom ******" + panierArray[i].nom + " "); //console.log("panierArray[i].quantite**** " + panierArray[i].quantite + " "); //console.log("count *****" + count + " "); //counttotal=count; //console.log("counttotal *****" + counttotal + " "); }
je pense avoir compris
voila le bon code
var panierArray = MonPanier.listpanier(); var output = ""; var countart=0; var countart2=0; var count=0; //var count1=0; //var count2=0; //var count3=0; //var count4=0; for(var i in panierArray) { output += "<div class='row' style='border-style: ridge; border-width: 1px; border-color: #8ebf42; background-color: #d9d9d9;margin-bottom:5px;'>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + " <a class='example-image-link' href='"+ panierArray[i].url +"'data-lightbox='example-set'><img src=""" style='width:100px;height:100px;'></a>" + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].nom + "</div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].prix.toFixed(0) + " euro</div>" + "<div class='form-inline col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>" + "<input type='number' min='1' class='form-control item-quantite' style='width:55px !important' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>" + "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></div>" + "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].total + " euros</div>" + "</div>"; if (panierArray[i].nom == 77777) { //on incremente count de 10 count=count + (10 * Number(panierArray[i].quantite)) console.log(count); } else if (panierArray[i].nom == 88888) { //on incremente count de 20 count=count + (20 * Number(panierArray[i].quantite)) console.log(count); } else if (panierArray[i].nom == 99999) { //on incremente count de 20 count=count + (30 * Number(panierArray[i].quantite)) console.log(ccount); }else { count=count + (1 * Number(panierArray[i].quantite)) console.log(count); } console.log(count); //var total= Number (count1) + Number (count2) + Number (count3) + Number (count4) ; console.log(total); //console.log("nombre de i******" + i + " "); //console.log("panierArray[i].nom ******" + panierArray[i].nom + " "); //console.log("panierArray[i].quantite**** " + panierArray[i].quantite + " "); //console.log("count *****" + count + " "); //counttotal=count; //console.log("counttotal *****" + counttotal + " "); }
bonjour yg_be
oui bonne idée
voici ce que cela donne
console.log(i); 1
console.log(panierArray[i].nom);77777
console.log(panierArray[i].quantite);1
console.log(count);10
console.log(counttotal);10
mais si j'ajoute par exemple un article numéro 2006 cela devient
si j'aoute encore 1 fois le numero 2006
Il est préférable de partager du texte, pas des images.
je reviens plus tard ...
j'ai un bug dans le code