Bonsoir, Après avoir passer quelques bonnes heures à finir totalement mon site, je me suis dit que pouvoir changer l'état d'une commande passer par un client grâce à un formulaire accessible uniquement au admin serait une bonne chose. J'ai essayé plusieurs façons en vain ... j'ai penser à un UPDATE mais le problème étant que je dois définir l'id de la commande à modifier avant tout en fonction de quel état est modifier. Et c'est la que je bloque mes connaissances actuelles ne me permettent pas de faire cela si vous avez une solution à me proposer afin de répondre à ce problème j'en serait très reconnaissant PS : Sachant que j'affiche déjà les commandes sur le panel admin grâce à :Code:<?php $test = $bdd->query('SELECT id FROM commande'); foreach($test as $test) { echo" <ul class='navigation'> <li class='toggleSubMenu'><span>Etat de la commande n° ".$test['id']."</span> <ul class='subMenu'> <li><a> <font face='Montserrat'> <form method='POST' class='row' action='admin.php'> <label> Etat :</label> <select name='statue'> <option value='En attente'>En attente</option> <option value='En cours'>En cours</option> <option value='Fini'>Finie</option> <option value='Refusée'>Refusée</option> </select> </br></br> <div class='form-group-lg'> <button class='link' name='submit'>Modifier</button> </div> </br> </form> </font></a></li> </ul> </li> </ul></br>"; } ?> Et bien je ne sait pas comment retrouvez par la suite la commande qui a vu son état modifier et faire comprendre sa à la BDD. Voici un screen de ma BDD Spoiler J'espère que vous m'avez compris malgrès que sa soit un peu confus. @Feniix @JUBAKAB @Sidradi Merci d'avance
PHP: <?php require "config.php"; if(isset($_SESSION['id'])) { if(isset($_POST['submit'])) { if(!empty($_POST['statue'])) { $statue = htmlspecialchars(trim($_POST['statue'])); $UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?"); $UPDATEcommande->execute(array($_POST['statue'], $test['id'])); } } }?> Non fonctionnel il ne se passe absolument rien
Salut,Code: <?php require "config.php"; if(isset($_SESSION['id'])){ if(isset($_POST['submit'])){ if(!empty($_POST['statue'])){ $statue = htmlspecialchars(trim($_POST['statue'])); $UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?"); $UPDATEcommande->execute(array($_POST['statue'], $_GET['id']); } } } ?> Il faut bien sûr récupère l'id dans l'url avant En espérant avoir pu d'aider, Feniix
Je n'y avait pas pensé, merci pour cette indication cependant toujours pas fonctionnel, je fournis le code de toute la page car je pense que le code php n'est pas suffisant. Code: <?php require "config.php"; if(isset($_SESSION['id'])){ if(isset($_POST['submit'])){ if(!empty($_POST['statue'])) { $statue = htmlspecialchars(trim($_POST['statue'])); $UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?"); $UPDATEcommande->execute(array($_POST['statue'], $_GET['id'])); } } } ?> <!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> <section> <nav class="main-nav-outer" id="navbar"> <div class="container"> <ul class="main-nav"> <li><a href="index.php">Accueil</a></li> <li><a href="index.php#Portfolio">Portfolio</a></li> <li><a href="index.php#Shop">Shop</a></li> <li class="small-logo"><a href="#Entête"><img src="img/logo.png"></a></li> <li><a href="panel.php">Panel</a></li> <li><a href="commande.php">Commande</a></li> <?php if(isset($_SESSION['id'])) { ?> <li><a href="logout.php">Déconnexion</a></li><?php } ?> </ul> </div> </nav> </section> <section> </br> <h2><center>Espace d'administration</center></h2></br> <p><b><center><h4 style="width:250px;border:2px solid #999999;">Liste des membres</h4></center></b></p> <?php if(isset($erreur)) { ?><p><font color="red"><i class="fa fa-exclamation-circle"></i> <?= $erreur; ?></p></font><?php } ?> <center> <?php require "config.php"; if(isset($_SESSION['id']) AND $_SESSION['grade'] != 'Admin'){ header('Location: exit.php'); } elseif(!isset($_SESSION['id'])){ header('Location: login.php'); } echo utf8_decode('<br/>'); $users = $bdd->query('SELECT * FROM users'); foreach($users as $users) { echo "<p><h3><span style='color:#6AA84F' class='fa fa-user'></span> ".$users['pseudo']." | <span style='color:#912519' class='fa fa-envelope'></span> ".$users['email']." | <span style='color:#394BA4' class='fa fa-chevron-circle-right'></span> ". $users['grade']."</h3></p>"; } ?> </br><p><b><center><h4 style="width:250px;border:2px solid #999999;">Gerer les commandes</h4></center></b></p></br> <?php $test = $bdd->query('SELECT id FROM commande'); foreach($test as $test) { echo" <ul class='navigation'> <li class='toggleSubMenu'><span>Etat de la commande n° ".$test['id']."</span> <ul class='subMenu'> <li><a> <font face='Montserrat'> <form method='POST' class='row' action='admin.php'> <label> Etat :</label> <select name='statue'> <option value='En attente'>En attente</option> <option value='En cours'>En cours</option> <option value='Fini'>Finie</option> <option value='Refusée'>Refusée</option> </select> </br></br> <div class='form-group-lg'> <button class='link' name='submit'>Modifier</button> </div> </br> </form> </font></a></li> </ul> </li> </ul></br>"; } ?> </br><p><b><center><h4 style="width:250px;border:2px solid #999999;">Liste des commandes</h4></center></b></p> <?php require "config.php"; echo utf8_decode('<br/>'); $commande = $bdd->query('SELECT * FROM commande'); foreach($commande as $commande) { echo"<ul class='navigation'> <li class='toggleSubMenu'><span>Commande n° ".$commande['id']."</span> <ul class='subMenu'> <font color='#fff'> <li><a> <i style='color:#25779A' class='fa fa-clock-o' aria-hidden='true'></i> Statue: ".$commande['statue']." </br><i style='color:#000' class='fa fa-file-image-o' aria-hidden='true'></i> Type: ".$commande['type']." </br><i style='color:#000' class='fa fa-file-image-o' aria-hidden='true'></i> Style: ".$commande['style']." </br><i style='color:#6AA84F' class='fa fa-user'></i> Pseudo: ".$commande['pseudo']." </br><i style='color:#A42D2D' class='fa fa-pencil'></i> Couleur Principal: ".$commande['principal']." </br><i style='color:#3F44AC' class='fa fa-pencil'></i> Couleur Secondaire: ".$commande['secondaire']." </br><i style='color:#6C4A07' class='fa fa-envelope'></i> Email de contact: ".$commande['email']." </br><i style='color:#971C88' class='fa fa-file-text' aria-hidden='true'></i> Description:</br></br>".$commande['description']."</a></li> </font> </ul> </li> </ul></br>"; } ?> </center> </section> </body> </html> Merci à toi Feniix j'espère que tu pourra m'aider par la suite