Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Comment bien écrire son code ?
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Florian." data-source="post: 6613570" data-attributes="member: 145215"><p>Hello,</p><p></p><p>Après plusieurs semaine sur un projet, une personne est venu m'aider, elle ma montré comment elle codé et personnellement j'ai kiffer et c'est ultra lisible.</p><p></p><p>Pour ce tuto je vais perdre le code de <a href="https://reality-gaming.fr/threads/update-bdd-sur-toutes-les-valeurs.552148/" target="_blank">https://reality-gaming.fr/threads/update-bdd-sur-toutes-les-valeurs.552148/</a> car je codais un peu comme ça c'est a dire avec des else/if de partout, resultat si vous devez modifier ou rechercher un truck c'est le bordel</p><p></p><p>Alors: son code fait 188lignes au total ce qui est assez énorme on notera qu'il peux juste update la table</p><p></p><p>Voici le résultat</p><p></p><p>[php]<?php</p><p>require "config.php";</p><p>/*</p><p></p><p>LES REQUETES DELETE/INSERT INTO/UPDATE</p><p></p><p>*/</p><p>function add(){</p><p> global $bdd;</p><p></p><p> if(!$_POST['statue']){ return 1;}</p><p></p><p> if(!preg_match("/^[a-zA-Z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'\"_ -]+$/", $_POST['staue'])){ return 11;}</p><p></p><p> $statue = htmlspecialchars($_POST['statue']);</p><p></p><p></p><p> $insert = $bdd->prepare("INSERT INTO commande (statue) VALUES (?)");</p><p> $insert->execute(array($statue));</p><p>}</p><p></p><p>function updatecommande($id){</p><p> global $bdd;</p><p> if(!$_POST['statue'] OR !$_POST['id']){return 'Vous devez remplir les champs'; }</p><p> if(!preg_match("/^[a-zA-Z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'\"_ -]+$/", $_POST['statue'])){ return 11;}</p><p> if(!preg_match("/^[0-9]+$/", $id)){return 111;}</p><p> $UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?");</p><p> $UPDATEcommande->execute(array($_POST['statue'], $id));</p><p> return 1111;</p><p>}</p><p></p><p>function delete($id){</p><p> global $bdd;</p><p> if(!preg_match("/^[0-9]+$/", $id)){ return;}</p><p> if(isset($_POST['subDelete'])){</p><p> $delete = $bdd->prepare("DELETE FROM commande WHERE id = :id");</p><p> if($delete->execute(array($id))){ return 'Votre commande a bien été supprimé.'; $error = 1;}else{ return 'Une erreur est survenue, veuillez réessayer.'; $error = 1;}</p><p> }</p><p></p><p> $display = $bdd->prepare("SELECT * FROM commande WHERE id = :id");</p><p> $display->execute(array($id));</p><p> $fetch = $display->fetch();</p><p> affichepost($fetch['statue'], 'Delete', 'Supprimer', true, $error);</p><p>}</p><p>/*</p><p></p><p>ICI C'EST TOUT LES POST</p><p></p><p>*/</p><p></p><p>function affichepost($statue, $subname, $subvalue, $disabled, $error){ //FUNCTION PRINCIPAL ELLE EVITE DE COPIER 5000 FOIS LE POST</p><p> if($error){ echo $error;}</p><p> ?></p><p> <form action="" method="POST"></p><p> <input type="text" name="name" placeholder="Nom de la commande"<?php if($statue){ echo " value=\"". $statue ."\"";} ?><?php if($disabled){ echo " disabled";} ?>></p><p> <br><br><input type="submit" name="sub<?= $subname; ?>" value="<?= $subvalue; ?>"></p><p> </form></p><p> <?php</p><p>}</p><p></p><p>function addcommande(){</p><p> if(isset($_POST['subAdd'])){</p><p> $verif = submitAdd();</p><p> if($verif == 1){ setFlash('Veuillez remplir les champs obligatoires.'); $error = 1;}</p><p> elseif($verif == 1000){ setFlash('Votre commande a bien été ajouté !', success); $error = 1;}</p><p> }</p><p></p><p> if(isset($_POST['statue'], 'add', 'Ajouter', false, $error);}</p><p> else{affichepost('', '', '', '', '', '', '', '', '', 'Add', 'Ajouter', false, $error);}</p><p>}</p><p></p><p>function edit($id){</p><p> global $bdd;</p><p> if(!preg_match("/^[0-9]+$/", $id)){ return 'Veuillez remplir les champs obligatoires.'); $error = 1;}</p><p> if(isset($_POST['subEdit'])){</p><p> $verif = updatecommande($id);</p><p> elseif($verif == 11){ return 'Une erreur est survenue lors du statue'; $error = 1;}</p><p> elseif($verif == 111){ return 'Une erreur est survenue lors de l\'id'; $error = 1;}</p><p> $display = $bdd->prepare("SELECT * FROM commande WHERE id = ?");</p><p> $display->execute(array($id));</p><p> $fetch = $display->fetch();</p><p> affichepost($fetch['statue'], 'Edit', 'Modifier', false, $error);</p><p>}</p><p></p><p>?></p><p><!doctype html></p><p><html></p><p><head></p><p><meta charset="utf-8"></p><p><title>ItsTrapp</title></p><p></p><p><!-- Police de la page --></p><p><link href='' rel='stylesheet' type='text/css'></p><p><link href='' rel='stylesheet' type='text/css'></p><p></p><p><!-- Chargement des styles --></p><p><link href="css/bootstrap.css" rel="stylesheet" type="text/css"></p><p><link href="css/style.css" rel="stylesheet" type="text/css"></p><p><link href="css/font-awesome.css" rel="stylesheet" type="text/css"></p><p><link href="css/responsive.css" rel="stylesheet" type="text/css"></p><p><link href="css/animate.css" rel="stylesheet" type="text/css"></p><p></p><p><!-- Chargement du JS --></p><p></p><p><script type="text/javascript" src="js/jquery.1.8.3.min.js"></script></p><p><script type="text/javascript" src="js/bootstrap.js"></script></p><p><script type="text/javascript" src="js/jquery-scrolltofixed.js"></script></p><p><script type="text/javascript" src="js/jquery.easing.1.3.js"></script></p><p><script type="text/javascript" src="js/jquery.isotope.js"></script></p><p><script type="text/javascript" src="js/wow.js"></script></p><p><script type="text/javascript" src="js/classie.js"></script></p><p><script type="text/javascript" src="js/typed.js"></script></p><p><script type="text/javascript"></p><p>$(document).ready( function () {</p><p> // On cache les sous-menus :</p><p> $(".navigation ul.subMenu").hide();</p><p> // On sélectionne tous les items de liste portant la classe "toggleSubMenu"</p><p></p><p> // et on remplace l'élément span qu'ils contiennent par un lien :</p><p> $(".navigation li.toggleSubMenu span").each( function () {</p><p> // On stocke le contenu du span :</p><p> var TexteSpan = $(this).text();</p><p> $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;</p><p> } ) ;</p><p></p><p> // On modifie l'évènement "click" sur les liens dans les items de liste</p><p> // qui portent la classe "toggleSubMenu" :</p><p> $(".navigation li.toggleSubMenu > a").click( function () {</p><p> // Si le sous-menu était déjà ouvert, on le referme :</p><p> if ($(this).next("ul.subMenu:visible").length != 0) {</p><p> $(this).next("ul.subMenu").slideUp("normal");</p><p> }</p><p> // Si le sous-menu est caché, on ferme les autres et on l'affiche :</p><p> else {</p><p> $(".navigation ul.subMenu").slideUp("normal");</p><p> $(this).next("ul.subMenu").slideDown("normal");</p><p> }</p><p> // On empêche le navigateur de suivre le lien :</p><p> return false;</p><p> });</p><p></p><p></p><p>} ) ;</p><p></script></p><p></head></p><p><body></p><p></p><p>[CODE] <?php</p><p>require('header.php');</p><p>if($_GET['edit']){ edit($_GET['edit']);}</p><p>elseif($_GET['delete']){ delete($_GET['delete']);}</p><p>elseif($_GET['add']){ addcommande();}</p><p> ?>[/CODE]</p><p></body></p><p></html>[/php]</p><p></p><p>Vous voyez y'a pas mal de function environ 2 par Update/add une seul pour le delete, vous pouvez mettre 1 pour update et add <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></p><p></p><p>Comme vous voyez le code est assez lisible y'a pas de else/if dans tout les sens, mais vous pouvez faire mieux! mettre toutes les functions dans un fichier et vous vous retrouverez avec</p><p>[php] <?php</p><p>require('header.php');</p><p>if($_GET['edit']){ edit($_GET['edit']);}</p><p>elseif($_GET['delete']){ delete($_GET['delete']);}</p><p>elseif($_GET['add']){ addcommande();}</p><p> ?>[/php]</p><p>avec 5lignes !</p><p></p><p>Je vous déconseille de C/C ce code, car tout simplement il peux y avoir des erreurs, c'était juste pour vous montrez comment je fait dorénavant, si vous avez des questions voir même des astuces je suis preneur <img src="/data/assets/smilies/joueur.gif" class="smilie" loading="lazy" alt=":p" title="Joueur :p" data-shortname=":p" /></p></blockquote><p></p>
[QUOTE="Florian., post: 6613570, member: 145215"] Hello, Après plusieurs semaine sur un projet, une personne est venu m'aider, elle ma montré comment elle codé et personnellement j'ai kiffer et c'est ultra lisible. Pour ce tuto je vais perdre le code de [URL]https://reality-gaming.fr/threads/update-bdd-sur-toutes-les-valeurs.552148/[/URL] car je codais un peu comme ça c'est a dire avec des else/if de partout, resultat si vous devez modifier ou rechercher un truck c'est le bordel Alors: son code fait 188lignes au total ce qui est assez énorme on notera qu'il peux juste update la table Voici le résultat [php]<?php require "config.php"; /* LES REQUETES DELETE/INSERT INTO/UPDATE */ function add(){ global $bdd; if(!$_POST['statue']){ return 1;} if(!preg_match("/^[a-zA-Z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'\"_ -]+$/", $_POST['staue'])){ return 11;} $statue = htmlspecialchars($_POST['statue']); $insert = $bdd->prepare("INSERT INTO commande (statue) VALUES (?)"); $insert->execute(array($statue)); } function updatecommande($id){ global $bdd; if(!$_POST['statue'] OR !$_POST['id']){return 'Vous devez remplir les champs'; } if(!preg_match("/^[a-zA-Z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'\"_ -]+$/", $_POST['statue'])){ return 11;} if(!preg_match("/^[0-9]+$/", $id)){return 111;} $UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?"); $UPDATEcommande->execute(array($_POST['statue'], $id)); return 1111; } function delete($id){ global $bdd; if(!preg_match("/^[0-9]+$/", $id)){ return;} if(isset($_POST['subDelete'])){ $delete = $bdd->prepare("DELETE FROM commande WHERE id = :id"); if($delete->execute(array($id))){ return 'Votre commande a bien été supprimé.'; $error = 1;}else{ return 'Une erreur est survenue, veuillez réessayer.'; $error = 1;} } $display = $bdd->prepare("SELECT * FROM commande WHERE id = :id"); $display->execute(array($id)); $fetch = $display->fetch(); affichepost($fetch['statue'], 'Delete', 'Supprimer', true, $error); } /* ICI C'EST TOUT LES POST */ function affichepost($statue, $subname, $subvalue, $disabled, $error){ //FUNCTION PRINCIPAL ELLE EVITE DE COPIER 5000 FOIS LE POST if($error){ echo $error;} ?> <form action="" method="POST"> <input type="text" name="name" placeholder="Nom de la commande"<?php if($statue){ echo " value=\"". $statue ."\"";} ?><?php if($disabled){ echo " disabled";} ?>> <br><br><input type="submit" name="sub<?= $subname; ?>" value="<?= $subvalue; ?>"> </form> <?php } function addcommande(){ if(isset($_POST['subAdd'])){ $verif = submitAdd(); if($verif == 1){ setFlash('Veuillez remplir les champs obligatoires.'); $error = 1;} elseif($verif == 1000){ setFlash('Votre commande a bien été ajouté !', success); $error = 1;} } if(isset($_POST['statue'], 'add', 'Ajouter', false, $error);} else{affichepost('', '', '', '', '', '', '', '', '', 'Add', 'Ajouter', false, $error);} } function edit($id){ global $bdd; if(!preg_match("/^[0-9]+$/", $id)){ return 'Veuillez remplir les champs obligatoires.'); $error = 1;} if(isset($_POST['subEdit'])){ $verif = updatecommande($id); elseif($verif == 11){ return 'Une erreur est survenue lors du statue'; $error = 1;} elseif($verif == 111){ return 'Une erreur est survenue lors de l\'id'; $error = 1;} $display = $bdd->prepare("SELECT * FROM commande WHERE id = ?"); $display->execute(array($id)); $fetch = $display->fetch(); affichepost($fetch['statue'], 'Edit', 'Modifier', false, $error); } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>ItsTrapp</title> <!-- Police de la page --> <link href='' rel='stylesheet' type='text/css'> <link href='' rel='stylesheet' type='text/css'> <!-- Chargement des styles --> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="css/style.css" rel="stylesheet" type="text/css"> <link href="css/font-awesome.css" rel="stylesheet" type="text/css"> <link href="css/responsive.css" rel="stylesheet" type="text/css"> <link href="css/animate.css" rel="stylesheet" type="text/css"> <!-- Chargement du JS --> <script type="text/javascript" src="js/jquery.1.8.3.min.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript" src="js/jquery-scrolltofixed.js"></script> <script type="text/javascript" src="js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="js/jquery.isotope.js"></script> <script type="text/javascript" src="js/wow.js"></script> <script type="text/javascript" src="js/classie.js"></script> <script type="text/javascript" src="js/typed.js"></script> <script type="text/javascript"> $(document).ready( function () { // On cache les sous-menus : $(".navigation ul.subMenu").hide(); // On sélectionne tous les items de liste portant la classe "toggleSubMenu" // et on remplace l'élément span qu'ils contiennent par un lien : $(".navigation li.toggleSubMenu span").each( function () { // On stocke le contenu du span : var TexteSpan = $(this).text(); $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ; } ) ; // On modifie l'évènement "click" sur les liens dans les items de liste // qui portent la classe "toggleSubMenu" : $(".navigation li.toggleSubMenu > a").click( function () { // Si le sous-menu était déjà ouvert, on le referme : if ($(this).next("ul.subMenu:visible").length != 0) { $(this).next("ul.subMenu").slideUp("normal"); } // Si le sous-menu est caché, on ferme les autres et on l'affiche : else { $(".navigation ul.subMenu").slideUp("normal"); $(this).next("ul.subMenu").slideDown("normal"); } // On empêche le navigateur de suivre le lien : return false; }); } ) ; </script> </head> <body> [CODE] <?php require('header.php'); if($_GET['edit']){ edit($_GET['edit']);} elseif($_GET['delete']){ delete($_GET['delete']);} elseif($_GET['add']){ addcommande();} ?>[/CODE] </body> </html>[/php] Vous voyez y'a pas mal de function environ 2 par Update/add une seul pour le delete, vous pouvez mettre 1 pour update et add ;) Comme vous voyez le code est assez lisible y'a pas de else/if dans tout les sens, mais vous pouvez faire mieux! mettre toutes les functions dans un fichier et vous vous retrouverez avec [php] <?php require('header.php'); if($_GET['edit']){ edit($_GET['edit']);} elseif($_GET['delete']){ delete($_GET['delete']);} elseif($_GET['add']){ addcommande();} ?>[/php] avec 5lignes ! Je vous déconseille de C/C ce code, car tout simplement il peux y avoir des erreurs, c'était juste pour vous montrez comment je fait dorénavant, si vous avez des questions voir même des astuces je suis preneur :p [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Comment bien écrire son code ?
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut