Boucle while pour alléger un code

Eléphant du PHP | 213 Messages

26 août 2022, 14:12

Bonjour,
Je viens de faire ce code de 3 kilomètre de long.
J'aimerai savoir s'il est possible de passer par un boucle while afin de remplir les champs qui changent à chaque fois, suivant les données.

Voici le code, n'ayez pas peur[biggrin]

Code : Tout sélectionner

<!-- //------------ R22 --> <?PHP function RedondanceCopierBalisesR22() { // Le formulaire condition ELSEIF ?> <table align="center"> <tr align="center"> <td> <form id="form-copier"> <!-- //champ de saisie de texte --> <textarea class="js-text1" id="texte1" cols="80" rows="5" disabled="disabled"><?php echo $_SESSION["BalisesGR21"]; ?></textarea> <!-- //Bouton copier --> <input type="button" class="js-copytextbtn1" value="Copier la chaine" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'"> <textarea class="js-text2" id="texte2" cols="80" rows="5" disabled="disabled"><?php echo $_SESSION["BalisesGR22"]; ?></textarea> <!-- //Bouton copier --> <input type="button" class="js-copytextbtn2" value="Copier la chaine" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'"> </div> </form> </td> </tr> </table> <!-- Script bouton 1 --> <script> (() => { const button = document.querySelector('.js-copytextbtn1'); button.addEventListener("click", () => { const elemText = document.getElementById("texte1"); // supprimer l'attribut disabled si existe const disabled = elemText.getAttribute("disabled"); elemText.removeAttribute("disabled"); // selectionne le contenu elemText.focus(); elemText.select(); // copy document.execCommand("copy"); // réactive l'attribut disabled si existe disabled && elemText.setAttribute("disabled", disabled); // remise focus sur Btn button.focus(); try { if (document.execCommand('copy')) { var alerte = "Champs Work Notes* " alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script> <!-- Script bouton 2 --> <script> (() => { const button = document.querySelector('.js-copytextbtn2'); button.addEventListener("click", () => { const elemText = document.getElementById("texte2"); // supprimer l'attribut disabled si existe const disabled = elemText.getAttribute("disabled"); elemText.removeAttribute("disabled"); // selectionne le contenu elemText.focus(); elemText.select(); // copy document.execCommand("copy"); // réactive l'attribut disabled si existe disabled && elemText.setAttribute("disabled", disabled); // remise focus sur Btn button.focus(); try { if (document.execCommand('copy')) { var alerte = "Champs Work Notes* " alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script> <?PHP } ?> <!-- //------------ R23 --> <?PHP function RedondanceCopierBalisesR23() { // Le formulaire condition ELSEIF ?> <table align="center"> <tr align="center"> <td> <form id="form-copier"> <!-- //champ de saisie de texte --> <textarea class="js-text1" id="texte1" cols="80" rows="5" disabled="disabled"><?php echo $_SESSION["BalisesGR21"]; ?></textarea> <!-- //Bouton copier --> <input type="button" class="js-copytextbtn1" value="Copier la chaine" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'"> <textarea class="js-text2" id="texte2" cols="80" rows="5" disabled="disabled"><?php echo $_SESSION["BalisesGR22"]; ?></textarea> <!-- //Bouton copier --> <input type="button" class="js-copytextbtn2" value="Copier la chaine" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'"> <textarea class="js-text3" id="texte3" cols="80" rows="5" disabled="disabled"><?php echo $_SESSION["BalisesGR23"]; ?></textarea> <!-- //Bouton copier --> <input type="button" class="js-copytextbtn3" value="Copier la chaine" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'"> </form> </td> </tr> </table> <!-- Script bouton 1 --> <script> (() => { const button = document.querySelector('.js-copytextbtn1'); button.addEventListener("click", () => { const elemText = document.getElementById("texte1"); // supprimer l'attribut disabled si existe const disabled = elemText.getAttribute("disabled"); elemText.removeAttribute("disabled"); // selectionne le contenu elemText.focus(); elemText.select(); // copy document.execCommand("copy"); // réactive l'attribut disabled si existe disabled && elemText.setAttribute("disabled", disabled); // remise focus sur Btn button.focus(); try { if (document.execCommand('copy')) { var alerte = "Champs Work Notes* " alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script> <!-- Script bouton 2 --> <script> (() => { const button = document.querySelector('.js-copytextbtn2'); button.addEventListener("click", () => { const elemText = document.getElementById("texte2"); // supprimer l'attribut disabled si existe const disabled = elemText.getAttribute("disabled"); elemText.removeAttribute("disabled"); // selectionne le contenu elemText.focus(); elemText.select(); // copy document.execCommand("copy"); // réactive l'attribut disabled si existe disabled && elemText.setAttribute("disabled", disabled); // remise focus sur Btn button.focus(); try { if (document.execCommand('copy')) { var alerte = "Champs Work Notes* " alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script> <!-- Script bouton 3 --> <script> (() => { const button = document.querySelector('.js-copytextbtn3'); button.addEventListener("click", () => { const elemText = document.getElementById("texte3"); // supprimer l'attribut disabled si existe const disabled = elemText.getAttribute("disabled"); elemText.removeAttribute("disabled"); // selectionne le contenu elemText.focus(); elemText.select(); // copy document.execCommand("copy"); // réactive l'attribut disabled si existe disabled && elemText.setAttribute("disabled", disabled); // remise focus sur Btn button.focus(); try { if (document.execCommand('copy')) { var alerte = "Champs Work Notes* " alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script> <?PHP } ?> ainsi de suite jusqu'à la BaliseR10 [code] Si oui par quoi commencer ? Merci.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Mammouth du PHP | 1967 Messages

26 août 2022, 14:23

tout d'abords tu es sur la création d'une fonction, tu devrais donc chercher à créer une fonction générique avec un paramètre

cherche les parties communes de chaque fonction, et en quoi les autres parties diffère, demande toi comment les écrire en fonction de ton paramètre
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 213 Messages

26 août 2022, 16:28

Bonjour Spols,

Merci pour ton info et ton aide.
Je vais chercher.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.