Résolu Update BDD sur toutes les valeurs

-PizzaHut-

Premium
Inscription
4 Septembre 2013
Messages
682
Réactions
232
Points
10 141
Bonsoir,

Je reviens vers vous car après avoir fini le système de changement d'états de mes commandes sur mon site, je me suis aperçu que lorsque je changeais l'état d'une seule commande tous les autres états passaient à la même valeur

Voici le code la page :


Code:
<?php
require "config.php";
if(isset($_SESSION['id'])){
    if(isset($_POST['submit'])){
       if(!empty($_POST['statue']))
      {
         $id = htmlspecialchars(trim($_POST['id']));
          $statue = htmlspecialchars(trim($_POST['statue']));
          $UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = id");
          $UPDATEcommande->execute(array($statue));
        }
    }
}
?>
<!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°&nbsp;".$test['id']."</span>
                <ul class='subMenu'>
                    <li><a>
                    <font face='Montserrat'>
                        <form method='POST' class='row' action='admin.php'>
                            <label>&nbsp;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>
                            <div class='form-group col-md-6'>
                            <input name='identifiant' value=".$test['id']." />
                            </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°&nbsp;".$commande['id']."</span>
                <ul class='subMenu'>
                    <font color='#fff'>
                    <li><a>
                    <i style='color:#25779A' class='fa fa-clock-o' aria-hidden='true'></i>&nbsp;Statue:&nbsp;".$commande['statue']."
                    </br><i style='color:#000' class='fa fa-file-image-o' aria-hidden='true'></i>&nbsp;Type:&nbsp;".$commande['type']."
                    </br><i style='color:#000' class='fa fa-file-image-o' aria-hidden='true'></i>&nbsp;Style:&nbsp;".$commande['style']."
                    </br><i style='color:#6AA84F' class='fa fa-user'></i>&nbsp;Pseudo:&nbsp;".$commande['pseudo']."
                    </br><i style='color:#A42D2D' class='fa fa-pencil'></i>&nbsp;Couleur Principal:&nbsp;".$commande['principal']."
                    </br><i style='color:#3F44AC' class='fa fa-pencil'></i>&nbsp;Couleur Secondaire:&nbsp;".$commande['secondaire']."&nbsp;
                    </br><i style='color:#6C4A07' class='fa fa-envelope'></i>&nbsp;Email de contact:&nbsp;".$commande['email']."
                    </br><i style='color:#971C88' class='fa fa-file-text' aria-hidden='true'></i>&nbsp;Description:</br></br>".$commande['description']."</a></li>
                    </font>
                </ul>
            </li>
        </ul></br>";
      
    }
?>

</center>
</section>
</body>
</html>

Voici un screen de la BDD :

763ba35591da4008888a0e94baf17d4f.png


Merci d'avance
 

Florian.

Premium
Inscription
8 Août 2012
Messages
4 251
Réactions
1 220
Points
14 353
$UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?");
$UPDATEcommande->execute(array($statue, $id))

Je voit que ça perso :x

Puis j'ai vu que tu avais mis plusierus fois require config.php c'est inutile et ça ralentie ta page
Aussi, un pti plus mais tout tes codes JS a la fin, pour la performance ;)

Si ce n'est pas ça, tu peux prendre un screen avant l'update et après l'update ? :x pour bien voir ce qu'il se passe

Edit: je voit que tu as un peu de mal c'est le début c'est normal ;) regarde les vidéos de Grafikart et PrimFX il explique assez bien la programmation ;)
 
Dernière édition:

-PizzaHut-

Premium
Inscription
4 Septembre 2013
Messages
682
Réactions
232
Points
10 141
$UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?");
$UPDATEcommande->execute(array($statue, $id))

Je voit que ça perso :x

Puis j'ai vu que tu avais mis plusierus fois require config.php c'est inutile et ça ralentie ta page
Aussi, un pti plus mais tout tes codes JS a la fin, pour la performance ;)

Si ce n'est pas ça, tu peux prendre un screen avant l'update et après l'update ? :x pour bien voir ce qu'il se passe

Edit: je voit que tu as un peu de mal c'est le début c'est normal ;) regarde les vidéos de Grafikart et PrimFX il explique assez bien la programmation ;)

J'ai suivi pas mal de tuto, et là je dois dire que je ne comprend pas pourquoi il affecte l'id à tout les commandes dans la BDD et non seulement à celle concernés par l'id ...
 

Florian.

Premium
Inscription
8 Août 2012
Messages
4 251
Réactions
1 220
Points
14 353
J'ai suivi pas mal de tuto, et là je dois dire que je ne comprend pas pourquoi il affecte l'id à tout les commandes dans la BDD et non seulement à celle concernés par l'id ...
Ben
$UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = id"); c'est normal, ça va selectioner la premier si je dit pas de bétise tu as fait ce que je t'ai dit ?

$UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?");
$UPDATEcommande->execute(array($statue, $id))
 
Cette réponse a aidé l'auteur de cette discussion !

-PizzaHut-

Premium
Inscription
4 Septembre 2013
Messages
682
Réactions
232
Points
10 141
Ben
$UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = id"); c'est normal, ça va selectioner la premier si je dit pas de bétise tu as fait ce que je t'ai dit ?

$UPDATEcommande = $bdd->prepare("UPDATE commande SET statue = ? WHERE id = ?");
$UPDATEcommande->execute(array($statue, $id))


C'est niquel merci :)

Au passage ta oublié un ; à la fin j'avais pas vu

Au TOP @RGPG | Heberg-Me
 
Haut