Florian.
Premium
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
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
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
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
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
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
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 bordelAlors: 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>
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();}
?>
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

Dernière édition: