Partage
  • Partager sur Facebook
  • Partager sur Twitter

conserver les données de mon formulaire

    12 février 2024 à 16:17:29

    bonjour,
    je bloque sur un problème de récupération de données.

    j'aimerai après validation d'un formulaire et son ré affichage avoir dans ma liste d'articles cette fois ceux que j'ai choisi avec leur checkbox "checked" et aussi la valeur (quantité) dans le champ de saisie respectif. (en résumé, garder toutes mes sélections et quantités choisies)

    NOTE : J'ai une table pour les articles et une autre comme "panier" regroupant les choix d'articles fait pour un évênement précis.

    J'ai plusieurs boutons de formulaire en haut de page qui envoi des POST['non_de_categorie'].
    Lorsqu'un bouton est cliqué cela affiche une liste spécifique correspondant à la catégorie.
    je fais alors mon choix dans cette liste en cochant une checkbox et en indiquant une quantité pour ceux qui m’intéressent.
    Puis je valide mon formulaire.

    cela ré affiche alors la page comme au début (c'est à dire avec uniquement les boutons en haut de page).

    Si je re clique sur ce même bouton, il m'affiche à nouveau la liste d'articles.

    c'est là que je bloque, car je voudrais qu'il m'affiche cette fois cette liste MAIS AVEC LES CHECKBOX cochés et la QUANTITÉ des articles choisis précédemment.

    J'ai tenté de faire une requête à l’intérieur de la requête d'affichage de la liste d'article, en prenant les infos de la table panier, mais ça ne marche pas, ça m'affiche à chaque fois qu'une seule ligne.

    bref, je suis dans une impasse depuis 2 jours.

    ps: je suis débutant dans la programmation.

    d'avance merci pour votre aide.

    voici le code de la partie d'affichage de la page :

    // REQUETTE POUR SEULEMENT SYSTEMENT DIFFUSION
    // on affiche l'entête du tableau
    if(isset($_POST['system_diffusion']))
    {	
    ?>	
    <table width="800" border="0" cellspacing="0" cellpadding="2" class="tab_titre">
    <tr>
    <td width="800" height="30" bgcolor="#FF9900">&nbsp;&nbsp;SYSTEM DE DIFFUSION</td>
    </tr>
    </table>
    <table width="800" border="0" cellspacing="0" cellpadding="5" class="tab_titre_medium">
    <tr>
    <td align="center" width="20" bgcolor="#999999">Sel</td>
    <td align="center" width="60" bgcolor="#999999">QT</td>
    <td align="center" width="60" bgcolor="#999999">Stock actu</td>
    <td width="610" bgcolor="#999999">Designation de l'article (stock inv)</td>
    <td width="50" bgcolor="#999999">&nbsp;</td>
    </tr>
    </table>
    <form action="atl_choix_articles.php" method="post" enctype="multipart/form-data" name="req_form">
    <table width="800" border="0" cellspacing="2" cellpadding="5" class="tab_titre_medium">
    	
    <?
    // on AFFICHE l'ensemble des accessoires de la familles DIFFUSION
    $sql_systemdiffusion = "SELECT id_article, id_fam, id_sous_fam, id_categ, id_sous_categ, id_marque, name_article, qt_stock, mouv_stock, url_img, img_article FROM atl_articles WHERE id_fam ='1' AND id_sous_fam ='1' ORDER BY id_sous_fam, id_categ, id_sous_categ";
    $my_Insert_Statement = $my_Db_Connection->prepare ($sql_systemdiffusion); /* On prépare la requête */
    $my_Insert_Statement->execute($params); /* On execute la requete */
    
    while($row = $my_Insert_Statement->fetch(PDO::FETCH_OBJ)): 
    ?>
    <tr>
    <td align="center" width="20" height="50" bgcolor="#cccccc">
    <input name="id_even" type="hidden" value="<?= $_POST['id_even']; ?>" />
    <input name="mouv_stock" type="hidden" value="diffusions[<?= $row->id_article; ?>][qt_stock]" />
    <input type="checkbox" name="diffusions[<?= $row->id_article; ?>][event]" value="<?= $_POST['id_even']; ?>" /><?= $row->id_article; ?>
    <input name="diffusions[<?= $row->id_article; ?>][id_art]" type="hidden" value="<?= $row->id_article; ?>" />
    </td>
    <td align="center" width="50" height="60" bgcolor="#cccccc">
    <input name="diffusions[<?= $row->id_article; ?>][qte]" type="text" size="2" maxlength="2" value="" inputmode="numeric" /></td>
    
    <td align="center" width="50" height="60" bgcolor="#cccccc"><?= $row->mouv_stock; ?></td>
    <td width="600" height="50" bgcolor="#cccccc"><?= $row->name_article; ?> — (<?= $row->qt_stock; ?>)</td>
    <td width="60" height="50" align="center"><img id="<?= $row->id_article; ?>" src="img/<?= $row->url_img.$row->img_article; ?>" alt="<?= $row->name_article; ?>" style="width:100%;max-width:50px;height:100%;max-height:50px">
    
    <div id="myModal" class="modal">
      <span class="close">&times;</span>
      <img class="modal-content" id="img01">
      <div id="caption"></div>
    </div>
    
    <script>
    // Get the modal
    var modal = document.getElementById("myModal");
    
    var img = document.getElementById(<?= $row->id_article; ?>);
    var modalImg = document.getElementById("img01");
    var captionText = document.getElementById("caption");
    img.onclick = function(){
      modal.style.display = "block";
      modalImg.src = this.src;
      captionText.innerHTML = this.alt;
    }
    
    // Get the <span> element that closes the modal
    var span = document.getElementsByClassName("close")[0];
    
    // When the user clicks on <span> (x), close the modal
    span.onclick = function() { 
      modal.style.display = "none";
    }
    </script>
    
    </td>
    </tr>	
    	
    <?php endwhile; ?>
    </table>
    
    <br />
    <input name="req_form" type="submit" value="VALIDER" />
    </form>
    <br />	
    <?php 
    } // ------------------ fin du if isset SYSTEM DIFFUSIONS
    ?>



    • Partager sur Facebook
    • Partager sur Twitter

    conserver les données de mon formulaire

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown