Partie administration

Résolu
Bonjour, j'ai un problème et j'espère que l'un d'entre vous pourra m'aider. Mon souhait est de pouvoir gérer(ajouter,modifier,supprimer) des "catégories" issues d'une table que j'ai créée. Voici mon code:

<?php
include("connection.php");

switch($_GET['action'] )
{
case 'Supprimer':
//$suppr=mysql_db_query($db,"DELETE from cat WHERE id='$id'" );
echo"switch supprimer";
break;

case 'Ajouter':
//$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')WHERE id='$id'" );
echo"switch ajouter";
break;

case 'Modifier':
//$modif=mysql_db_query($db,"UPDATE pages SET nom_fr='$nom_fr' WHERE id='$id'" );
echo'<br />switch modifier id='.$_GET['id'];
break;

default: echo"Sélectionner l'un des trois choix" ;
}

$r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
while($cat = mysql_fetch_assoc($r_cat))
{

$nom_fr=$_GET['nom_fr'];
echo'<br />'.$cat['nom_fr'].'<form method="get" action="admincat2.php?action=Modifier&id='.$cat['id'].'"><input type="text" name="nom_fr">
<input type="submit" name="Modifier" value="Modifier"></form>';

}
?>

Mon souhait est que quand je clike sur le bouton modifier(submit) de mon formulaire, que je puisse pouvoir modifier le nom de la catégorie préalablement sélectionnée(je nsais pas trop comment faire non plus) grâce à la requête contenue dans le 3eme case(modifier) du switch. Mais cela ne marche pas. Je nsais plus trop quoi faire. Merci de votre aide.
Configuration: Windows Vista
Firefox 3.0.10

23 réponses

Résumé de la discussion

Le fil porte sur la gestion des catégories d'une base MySQL via PHP avec un switch pour Ajouter, Modifier et Supprimer, mais le code ne fonctionne pas tel quel. Plusieurs contributions suggèrent d'abandonner mysql_ au profit de mysqli ou PDO, d'utiliser l'identifiant de la catégorie et d'afficher des boutons Modifier/Supprimer près de chaque ligne. Des recommandations portent sur une structure où les catégories sont listées, puis un formulaire de modification prérempli ou une confirmation de suppression, avec des requêtes UPDATE et INSERT correctement paramétrées. En complément utile, sécuriser les échanges et privilégier les requêtes préparées évite les injections et permet un rechargement fluide après chaque action.

Bobot (l’IA à votre service)
  1. Car on m'a dit que c'était plus léger niveau code et donc moins lourd à supporter pour le serveur !
    1. Est-ce qu'on t'a donné des preuves de cette affirmation ?

      Parce que le switch case sur trois ou quatre cas ne risque pas d'être moins une charge pour le serveur que la même chose avec des if else if...
      De plus, la précompilation du PHP propose une optimisation, donc même sur des ensembles plus importants, la différence doit être au mieux minime...

      Pour t'en assurer, mesure le temps d'exécution d'un programme test pour les deux cas, sur un plusieurs itérations.

      Cela dit, si tu as des benchmarks prouvant ce que tu avance, je serais intéressé...
  2. Je veux réaliser la partie administration de mes catégories.

    Tout d'abord que mes catégories soient bien visibles sur la page avec à côté de chaque catégorie 2 boutons "modifier" et "supprimer". Si j'appuie sur modifier, alors une zone de texte avec le nom de l'ancienne catégorie s'affiche, je la modifie et quand je valide(à l'aide d'un bouton valider) la modification s'affiche directement à l'écran.

    Lorsque j'appuie sur "supprimer" sur l'un des boutons d'une catégorie, je veux qu'on me demande un message de validation de suppression oui ou non et si je mets oui bé la catégorie s'efface. Et quand la page se recharge on voit qu'elle s'est effacée. Je voudrais que la page se recharge automatiquement pour ne rien avoir à faire pour voir la modiication.

    Puis enfin quand j'appuie sur un bouton ajouter, je veux qu'une zone de texte s'affiche, que je mette le nom de la nouvelle catégorie et que je puisse la placer ou je veux je nsais pas trop comment faire! Et tout ça avec un système de switch case.

    Bref galère...

    Si tu penses pouvoir m'aider je t'en remercie .
    1. Pour que ton affichage évolue dynamiquement (càd sans recharger la page) comme tu l'indiques dans ton premier paragraphe, il faudra passer par du javascript.

      Le seconde partie ne préente aucune difficulté : tu rediriges vers une page de confirmation (un formulaire avec deux boutons de soumission), tu vérifie quel bouton a été cliqué, tu effaces et tu affiches la page.

      La troisième partie est plus délicate : si tu veux pouvoir la faire glisser pour choisir la position, il faudra un framework javascript. De plus, il faudrait savoir comment tu spécifie l'ordre dans ta base de données, sachant qu'àchaque fois que tu vas insérer une catégorie, tu risques de devoir mettre à jour toutes les catégories suivantes.

      Enfin, explique-moi pourquoi tu veux absolument utiliser des switch/case ?
  3. Sur la base du code que j'ai posté précédemment( à base de switch) je veux pouvoir réaliser ma partie administration de mes catégories, que ce soit clair et simple d'utilisation. Mais bon ce que je fais ne marche pas.
    1. Tu veux que ce soit présenté comment ? tu veux pouvoir faire quoi ? Donne des détails... Et quand ça ne marche pas, dis pourquoi.
  4. Les catégories s'affichent dans les zones de texte mais le reste ne marche pas. J'ai fait ce code avec des switch qui donne le même résultat donc il doit y avoir des erreurs. Mon but est de coder avec des switch maintenant.

    J'affiche mes catégories dans la zone de texte quand je veux modifier ou effacer et j'affiche une zone de texte vide quand je veux ajouter quelque chose afin que je puisse mettre le nom de ma nouvelle catégorie à l'intérieur, catégorie ke je veux pouvoir placer ou je le souhaite. Mais ça ne marche pas du tout. Je voudrais aussi que le submit ajouter ne soit présent qu'une seule fois et pas à toutes les catégories ce qui est inutile.
    C'est compliqué, je galère :(

    <?php
    include("connection.php");

    if(isset($_GET['action']))
    {
    switch($_GET['action'] )
    {
    case 'Supprimer':
    //$suppr=mysql_db_query($db,"DELETE from cat WHERE id='$id'" );
    echo"switch supprimer";
    break;

    case 'Ajouter':
    //$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')WHERE id='$id'" );
    echo"switch ajouter";
    break;

    case 'Modifier':
    //$modif=mysql_db_query($db,"UPDATE pages SET nom_fr='$nom_fr' WHERE id='$id'" );
    echo"switch modifier";
    break;

    default: ;
    }
    }

    $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
    while($cat = mysql_fetch_assoc($r_cat))
    {

    $nom_fr=$_GET['nom_fr'];
    echo'<br /><form method="get" action="admincat2.php?action=Modifier||Supprimer&id='.$cat['id'].'">';
    echo'<input type="hidden" name="ordre" value="'.$cat['ordre'].'" />';
    echo'<input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />';
    echo'<input type="submit" name="submitmod" value="Modifier" />';
    echo'<input type="submit" name="submitdel" value="Effacer" /></form>';

    echo'<br /><form method="get" action="admincat2.php?action=Ajouter&id='.$cat['id'].'">';
    echo'<input type="text" name="nom_fr" />';
    echo'<input type="submit" name="submitadd" value="Ajouter" /></form>';

    }
    ?>

    1. Je te propose une chose : tu te décides définitivement sur ce que tu veux faire et ensuite tu postes... Parce que là c'est la troisième fois que tu changes d'avis, ça devient un peu lourd...
  5. Voici le code . Mais il ne marche pas. Il faut que je le fasse avec des switch case je pense, c'est le mieux. J'ai besoin de votre aide.

    <?php

    include("connection.php");

    if(!isset($_POST) || empty($_POST['nom_fr']) || empty($_POST['ordre']) || empty($_POST['submitadd']) || empty($_POST['submitdel']) || empty($_POST['submitmod']))
    {

    $r_cat= mysql_db_query($db, "SELECT * FROM cat ORDER BY ordre ASC");
    while($cat=mysql_fetch_assoc($r_cat))
    {
    echo'<form method="post" action="essai.php">';
    echo'<input type="hidden" name="ordre value="'.$cat['ordre'].'" />';
    echo'<input type="text" name="nom_fr value="'.$cat['nom_fr'].'" />';
    echo'<input type="submit" name="submitadd" value="Ajouter" />';
    echo'<input type="submit" name="submitmod" value="Modifier" />';
    echo'<input type="submit" name="submitdel" value="Supprimer" /></form>';
    }

    }
    else
    {
    if(isset($_POST['submitadd']))
    {
    $add=mysql_db_query($db,"INSERT INTO cat (nom_fr,ordre) VALUES (".$_POST['nom_fr'].",".$_POST['ordre']."");
    }

    else if(isset($_POST['submitmod']))
    {
    $mod=mysql_db_query($db,"UPDATE cat set nom_fr=".$_POST['nom_fr']." WHERE nom_fr=".$_POST['ordre']."");
    }

    else if(isset($_POST['submitdel']))
    {
    $del=mysql_db_query($db,"DELETE nom_fr FROM cat WHERE nom_fr=".$_POST['nom_fr']." LIMIT 1");
    }
    }
    ?>
    1. <?php
      include("connection.php");

      if(!isset($_POST) || empty($_POST['nom_fr']) || empty($_POST['ordre']) || empty($_POST['submitadd']) || empty($_POST['submitdel']) || empty($_POST['submitmod']))
      {
      $r_cat= mysql_db_query($db, "SELECT * FROM cat ORDER BY ordre ASC");
      while($cat=mysql_fetch_assoc($r_cat))
      { // Les balises <p> permettent d'avoir un code valide mais ne sont pas obligatoires
      echo'<form method="post" action="essai.php"><p>';
      echo'<input type="hidden" name="ordre" value="'.$cat['ordre'].'" />';
      echo'<input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />';
      echo'<input type="submit" name="submitadd" value="Ajouter" />';
      echo'<input type="submit" name="submitmod" value="Modifier" />';
      echo'<input type="submit" name="submitdel" value="Supprimer" /></p></form>';
      }
      }
      else
      {
      if(isset($_POST['submitadd']))
      {
      $add=mysql_db_query($db,"INSERT INTO cat (nom_fr,ordre) VALUES (".$_POST['nom_fr'].",".$_POST['ordre'].");";
      }

      else if(isset($_POST['submitmod']))
      {
      $mod=mysql_db_query($db,"UPDATE cat set nom_fr=".$_POST['nom_fr']." WHERE nom_fr=".$_POST['ordre'].");";
      }

      else if(isset($_POST['submitdel']))
      {
      $del=mysql_db_query($db,"DELETE FROM cat WHERE nom_fr=".$_POST['nom_fr']." LIMIT 1");
      }
      }
      ?>Essaie déjà comme ça, ça devrait être mieux...
  6. Le code ne semble pas marcher. Les 3 submits s'affichent ainsi que la zone de texte nom_fr mais rien de plus.
    1. mysql_db_query( $db, "UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['nom_fr'].'" ) ;

      (C'est pas id=... c'est nom_fr, erreur de ma part. position n'aurait aucun sens. ) ?

      Je ne comprends plus trop à la place du WHERE id je dois mettre un WHERE nom_fr=...

      C'est ça ?
      1. Ben voui, fais marcher tes neurones un peu ;-p
    2. Oui je sais à quoi sert le WHERE je me demandais simplement pourquoi faire WHERE id='".$_POST['nom_fr'].'" ) et non pas id=" '.$_POST['position'].'"

      Et aussi cette ligne : echo '<ul id="liste_categories">'; Je nla comprends pas.

      Merci pour le temps que tu prends à me répondre.
      1. C'est pas id=... c'est nom_fr, erreur de ma part. position n'aurait aucun sens.

        Tes différentes catégories sont stockées dans une liste à puces (et plus une liste déroulante, sinon pas possible de faire ce que tu voulais). Le ul est la balise qui permet de démarrer une liste non ordonnée. Je lui ai rajouté une id pour le fun, ce sera plus facile par la suite de lui associer un style au moyen d'une feuille de style...
    3. Oki merci je vais étudier ceci. Mais j'ai quelques questions:7

      Tout d'abord pourrais'tu m'expliquer à quoi sert cette ligne de code :

      echo ' <input type="hidden" name="position" value="'.$cat['position'].'" />';

      Puis ou refermes tu le while qui liste les noms de catégorie de ma table?

      Enfin sur cette ligne de code : $result = mysql_db_query( $db, "UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['nom_fr'].'" ) ;

      Je ne comprends pas l'utilité du WHERE !

      Merci beaucoup pour ton aide ! :)
      1. Le champ caché permet de transmettre la postioon de l'élément après lequel tu veux insérer un nouvel élément.

        Mon code est indenté de manière explicite, tu devrais voir où est refermée la boucle while...

        Il y a toujours un WHERE dans un ordre UPDATE, sinon comment tu peux préciser les tuples sur lesquels vont être effectués les mises à jour ?

        Une petite note : le code que je t'ai donné est faux : la gestion de la position est mal faite... Il faudrait revoir ça.
    4. Essaie un truc comme ça :
      <?php 
      include("connection.php"); 
      
      // Si le formulaire est vide ou n'a pas été rempli correctement
      if ( !isset( $_POST ) || 
           empty( $_POST['position'] ) || 
           empty( $_POST['nom_fr'] ) ||
           ( empty( $_POST['submit_mod'] ) && empty( $_POST['submit_del'] ) 
                                           && empty( $_POST['submit_add'] ) ) ) {
      
        $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY position ASC");
      
        echo '<ul id="liste_categories">';
        while( $cat=mysql_fetch_assoc($r_cat) ); { 
          echo '<li>';
          echo '  <form method="post" action="essai.php"><p>';
          echo '    <input type="hidden" name="position" value="'.$cat['position'].'" />';
          echo '    <input type="text" name="nom_fr" value='.$cat['nom_fr'].'" />';
          echo '    <input type="submit" name="submit_mod" value="Modifier" />';
          echo '    <input type="submit" name="submit_del" value="Supprimer" />';
          echo '    <input type="submit" name="submit_add" value="Ajouter après" />';
          echo '  </p></form>';
          echo '</li>';
        }
        echo '</ul>';
      
      } else {
      
        if ( isset( $_POST['submit_mod] ) ) { 
          $result = mysql_db_query( $db, "UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['nom_fr'].'" ) ;
      
        } else if ( isset( $_POST['submit_del'] ) ) { 
          $result = mysql_db_query( $db, "DELETE FROM cat WHERE nom_fr='".$_POST['nom_fr']."' LIMIT 1" );
      
        } else if ( isset($_POST['submit_add'] ) ) {
          $result = mysql_db_query( $db, "INSERT INTO cat (nom_fr, position) VALUES ('".$_POST['nom_fr']."', "'.$_POST['position']."')" );
      
        }
      }
      ?>
      En l'adaptant à ton application.
      1. Voilà ce que j'ai fait, c'est très incomplet mais je n'arrive pas à voir quoi je dois rajouter !

        <?php

        include("connection.php");

        $r_cat= mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
        while($cat=mysql_fetch_assoc($r_cat));
        {?>

        <form method="post" action="essai.php"><SELECT name="categorie" size="11" multiple>
        <option value="<?php echo''.$cat['nom_fr'].'';?>"></option></select>
        <input type="submit" name="Modifier" value="Modifier" /><input type= "submit" name="Ajouter" value ="Ajouter" /><input type= "submit" name="Supprimer" value="Supprimer" />
        </form>
        }
        <?php
        if(isset($_POST['Modifier'])
        {
        <?php $modif= mysql_db_query($db,"UPDATE cat SET nom_fr='$nom_fr' WHERE id='$id'");
        }

        if(isset($_POST['Ajouter']))

        $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')");

        if(isset($_POST['Supprimer']))
        {

        $add=mysql_db_query($db,"DELETE FROM CAT nom_fr LIMIT 1");
        }
        ?>
        1. J'ai décidé de changer la façon de coder mon code. Je veux pouvoir faire cela:

          Tout d'abord, je veux pouvoir afficher les catégories contenues dans ma table, pour info il y en a 11.

          A côté de chaque catégorie je veux pouvoir afficher 3 boutons ou icones qui sont "modifier", "ajouter" ou "supprimer" pour pouvoir gérer la catégorie souhaitée.

          Si je clique sur "modifier" , je veux donc modiier le nom de ma catégorie.
          Si je clique sur "ajouter", je veux pouvoir ajouter une nouvelle catégorie à la place que je souhaite dans ma liste de catégories.
          Et si je clique sur "modifier", je veux pouvoir supprimer la catégorie voulue après une confirmation de la volonté de supprimer cette catégorie.

          Ce que je souhaite réaliser est la partie administration de mes catégories en fait.

          Donc voilà si quelqu'un pouvait m'apporter des infos, des bases pour commencer, ou la structure de mon programme ce serait vraiment sympa car j'en ai vraiment besoin.Merci d'avance.
          1. J'ai enlevé le ; que j'avais mis par erreur à la fin du while mais le priblème reste le même:

            <?php

            include("connection.php");

            $r_cat= mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
            while($cat=mysql_fetch_assoc($r_cat))
            {?>

            <form method="post" action="essai.php"><SELECT name="categorie" size="11" multiple>
            <option value="<?php echo''.$cat['nom_fr'].'';?>"></option></select>
            <input type="submit" name="Modifier" value="Modifier" /><input type= "submit" name="Ajouter" value ="Ajouter" /><input type= "submit" name="Supprimer" value="Supprimer" />
            </form>
            }
            <?php
            if(isset($_POST['Modifier']))
            {
            $nom_fr=$_POST['nom_fr'];?>
            <form method="post" action="essai.php">
            <input type="text" name="nom_fr" value="<?php echo''.$cat['nom_fr'].'';?>" /><input type="submit" name="submit" value="submit" /></form>
            <?php $modif= mysql_db_query($db,"UPDATE cat SET nom_fr='$nom_fr' WHERE id='$id'");
            }

            if(isset($_POST['Ajouter']))
            {?>
            <form method="post" action="essai.php">
            <input type="text" name="nom_fr" /><input type="submit" name="submit" value="submit" /></form>
            <?php $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')");
            }

            if(isset($_POST['Supprimer']))
            {?>
            <form method="post" action="essai.php">
            <input type="text" name="nom_fr" /><input type="submit" name="submit" value="submit" /></form>
            <?php $add=mysql_db_query($db,"DELETE FROM cat nom_fr LIMIT 1");
            }?>
            1. MAJ : Voilà ce que j'ai fait mais il y a une erreur partielle à la dernièere ligne.

              <?php

              include("connection.php");

              $r_cat= mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
              while($cat=mysql_fetch_assoc($r_cat));
              {?>

              <form method="post" action="essai.php"><SELECT name="categorie" size="11" multiple>
              <OPTION VALUE="<?php echo''.$cat['nom_fr'].''?>"></OPTION>
              <INPUT TYPE="submit" name="Modifier" value="Modifier"><INPUT TYPE= "submit" name="Ajouter" value ="Ajouter"><INPUT TYPE= "submit" name="Supprimer" value="Supprimer">
              </SELECT>
              }
              <?php
              if(isset($_POST['submit==Modifier']))

              {
              $nom_fr=$_POST['nom_fr'];?>
              <form method="post" action="essai.php">
              <INPUT TYPE="text" name="nom_fr" value="<?php echo''.$cat['nom_fr'].'';?>">
              <?php $modif= mysql_db_query($db,"UPDATE cat SET nom_fr='$nom_fr'");
              }

              if(isset( $_POST['submit==Ajouter']))
              {?>
              <form method="post" action="essai.php">
              <INPUT TYPE="text" name="nom_fr" >
              <?php $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')");
              }

              if (isset($_POST['submit==Supprimer']))
              {
              echo'Voulez-vous vraiment supprimer cette catégorie?';?>
              <form method="post" action="essai.php">
              <INPUT TYPE= "submit" name="Oui"> <INPUT TYPE="submit" name="Non">
              <?php
              if(isset($_POST['submit==Oui']))
              {
              $suppr=mysql_db_query($db,"DELETE from cat nom_fr LIMIT 1");
              }
              } ?>
              1. Voilà le programme entier, je pense que tout est faux mais c'est comme ça qu'on apprend sans doute:

                <?php

                include(connection.php);

                $r_cat= mysql_db_query($db,SELECT * FROM cat ORDER BY ordre ASC);
                while($cat=mysql_fetch_assoc($r_cat));
                {

                echo'<form method="post" action="cettepage.php">'<SELECT name="categorie" size="11" multiple>
                <OPTION VALUE='.$cat['nom_fr'].'</OPTION>;
                <INPUT TYPE= "submit" name="Modifier"><INPUT TYPE= "submit" name="Ajouter"><INPUT TYPE= "submit" name="Supprimer">';
                }
                </SELECT>

                switch($_POST['submit'])
                {

                case: $_POST['submit="Modifier"']

                $nom_fr=$_POST['nom_fr'];
                echo'<form method="post" action="cettepage.php">
                <INPUT TYPE="text" name="nom_fr" value="'.$cat['nom_fr'].'">
                $modif= mysql_db_query($db,"UPDATE cat SET nom_fr='$nom_fr'");';
                break;

                case: $_POST['submit="Ajouter"']
                echo'<form method="post" action="cettepage.php">
                <INPUT TYPE="text" name="nom_fr" >
                $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')");';
                break;

                case: $_POST['submit="Supprimer"']
                echo'Voulez-vous vraiment supprimer cette catégorie?'
                <form method="post" action="cettepage.php">
                <INPUT TYPE= "submit" name="Oui><INPUT TYPE= "submit" name="Non">
                if($_POST['submit="Oui"'])
                {
                $suppr=mysql_db_query($db,"DELETE from cat nom_fr LIMIT 1");';
                }
                else
                {}

                default: ;
                }

                1. Voilà ce que j'ai commencé à faire, je me doute que c'est plein de fautes mais j'espère y arriver avec tes conseils ou tes remarques. Merci de prendre du temps pour me répondre à chaque fois, c'est vraiment sympa:

                  <?php

                  include(connection.php);

                  $r_cat= mysql_db_query($db,SELECT * FROM cat ORDER BY ordre ASC);
                  while($cat=mysql_fetch_assoc($r_cat));
                  {

                  echo'<form method="post" action="cettepage.php">'<SELECT name="categorie" size="11" multiple>
                  <OPTION VALUE='.$cat['nom_fr'].'</OPTION>;
                  <INPUT TYPE= "submit" name="Modifier"><INPUT TYPE= "submit" name="Ajouter"><INPUT TYPE= "submit" name="Supprimer">';
                  }
                  </SELECT>

                  switch($_POST['submit'])
                  {

                  case: $_POST['submit="Modifier"']

                  $nom_fr=$_POST['nom_fr'];
                  echo'<form method="post" action="cettepage.php">
                  <INPUT TYPE="text" name="nom_fr" value="'.$cat['nom_fr'].'">
                  $modif= mysql_db_query($db,"UPDATE cat SET nom_fr='$nom_fr'");';
                  break;

                  case: $_POST['submit="Ajouter"']
                  echo'<form method="post" action="cettepage.php">
                  <INPUT TYPE="text" name="nom_fr" value="'.$cat['nom_fr'].'">
                  $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')");';
                  1. D'accord je vais me pencher sur ça. Juste une autre question. Comment peut-on dans le cas ou l'on veut supprimer une catégorie, demander la confirmation de la suppression ou non, ce n'est pas du PHP sa non ?
                    1. Comment faire pour envoyer les résultats du select dans ma liste ?
                      1. Bah un truc du genre
                        $liste = resultat de ma requete
                        <select>
                        <?php foreach ( $liste as $id=>$data ) { // Dépend tu format de retour de ta requête ?>
                          <option value="<?php $id ?>"><?php $data['nom_categorie'] ?></option>
                        <?php>}?>
                        </select>
                        Ne reprends pas le code comme ça, c'est fait à l'arrache, pour te donner une idée.
                    2. Ok alors pour afficher tes catégories, après un select nommé "selection" sur ta table, tu les balances dans une liste déroulante (<select><option>). C'est dans un formulaire alors tu peux en sélectionner une.
                      Trois boutons submit existent dans ce formulaire : "Nouveau", "Modifier", "Supprimer".

                      Dans le cas où le isset( $_POST['submitNouveau'] ) || isset( $POST['submitModifier'] ), tu affiches un formulaire de saisie des informations sur la catégorie, avec les champs préremplis si c'est "submitModifier" qui a été choisi.
                      Ensuite tu insères ou mets à jour les informations en fonction de ce que te renvoie le formulaire.

                      Si isset( $_POST['submitSupprimer'] ), tu demandes confirmation pour la suppression et tu supprime l'entrée.
                      • 1
                      • 2