IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Transmission de données en method POST.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut Transmission de données en method POST.
    PHP Sql

    Bonsoir.
    çà fait quatre jours que je cherche et il me semble tourner sans fin autour du pot.
    J'ai une table articles
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `articles` (
      `id_article` int(11) NOT NULL,
      `nom_article` varchar(255) NOT NULL,
      `rayon_article` int(11) NOT NULL,
      `type_article` varchar(20) NOT NULL,
      `qte_article` int(11) NOT NULL DEFAULT '1'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    dans un formulaire je liste tous les articles de ma table et pour chacun d'eux je rajoute un check box et un input type number.
    mon rêve et de pouvoir ajouter une quantité à des articles que je sélectionne et des POSTER les raticles sélectionnés et leur quantité vers une liste de courses.
    j'ai fait:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <form name="article" method="post" action="ajout_articles_courses.php">
    <div class="screenonly" align="center"><input class="bouton" type="submit" name="ajout_article" value="Ajouter les produits cochés à la liste de courses"></div>
    </th>
    </table>
    </tr>
    	<table class="table table-bordered table-condensed table-striped table-sm">
               <thead><th></th><th>id_article</th><th>Article</th><th>Quantité</th><th>Type article</th></thead>
                    <tbody>
                       <?php while ($ligne = $resultat_art->fetch_assoc()): ?>
                       <tr>
                <td>
               <div class="screenonly"><input type='checkbox' name='ajout_article[]' value='<?=$ligne['id_article']?>'></td></div>
              </td>
             <td><?=$ligne['id_article'];?></td>
            <td><?=$ligne['nom_article'];?></td>
            <td><input type="number" name="quant_art"></td>
           <td><?=$ligne['type_article'];?></td>
          </tr>
                    <?php endwhile ?>
     
    </tbody>
    </table>		
    </form>

    A mon grand malheur, lorsque je poste mes données vers "ajout_articles_courses.php", tous les $ligne [quelquechose] passe et je les récupère dans la page destinataire, mais je ne sais pas faire passer la quantité que j'ai saisie dans l'input= number.

    çà faiit quatre jours et quatre nuit que je suis là-dessus et ,même en période de confinement, je commence à trouve le temps long

    Si quelqu'un pouvait m'aider....
    Je vous remercie d'avance
    Bonne soirée

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    mets des crochets dans le name de ton <input> comme tu l'as fait pour tes autres champs.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="number" name="quant_art[]">

    De plus, attention, qte_article différent de quant_art !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je complète en disant qu'on peut avantageusement utiliser l'id_article (car il est UNIQUE) comme index :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
               <div class="screenonly"><input type='checkbox' name='ajout_article[<?=$ligne['id_article'];?>]' value='<?=$ligne['id_article']?>'></td></div>
    ...
            <td><input type="number" name="quant_art[<?=$ligne['id_article'];?>]"></td>

  4. #4
    Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut Merci pour votre aide. Mais la quantité articles n'est toujours pas transmise dans le POST
    Je veux d'abord vous remercier pour votre aide et la rapidité de votre réponse. Mais je dois mal m'y prendre.
    J'ai changé mon code comme vous me l'avez conseillé.

    il devient donc

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <form name="article" method="post" action="ajout_articles_courses.php">
    <div class="screenonly" align="center"><input class="bouton" type="submit" name="ajout_article" value="Ajouter les produits cochés à la liste de courses"></div>
    </th>
     
    </tr>
           <table class="table table-bordered table-condensed table-striped table-sm">
                 <thead><th></th><th>id_article</th><th>Article</th><th>Quantité</th><th>Type article</th></thead>
                <tbody>
           <?php while ($ligne = $resultat_art->fetch_assoc()): ?>
            <tr>
               <td>
               <div class="screenonly"><input type='checkbox' name='ajout_article[<?=$ligne['id_article'];?>]' value='<?=$ligne['id_article']?>'></td></div>
               </td>
               <td><?=$ligne['id_article'];?></td>
               <td><?=$ligne['nom_article'];?></td>
               <td><input type="number" name="quant_art[<?=$ligne['id_article'];?>]"></td>
               <td><?=$ligne['type_article'];?></td>
           </tr>
          <?php endwhile ?>
     
    </tbody>
    </table>		
    </form>

    Je coche par exemple la case de l'article 'Ail' et je mets la quantité à 5.

    Dans la page destination, "ajout_articles_courses.php", avant même de tenter une quelconque requête d'insertion, je fais un var_dump() du $_POST['ajout_article']

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $tableau = array();
    if(!empty($_POST['ajout_article'])){
    		foreach($_POST['ajout_article'] as $valeur){
    		array_push($tableau,$valeur);
    		echo $valeur,'<br />';
                                       				}
    var_dump($tableau);

    Je reçois:
    Array ( [0] => ingred [1] => 236 [2] => Ail [3] => Légumes [4] => 415 )

    [0]type_article [1] id_article [2]nom_article [3]rayon_article [4]ordre_rayon
    j'ai besoin de toutes ces infos pour la suite de mon traitement.

    Mais la quantité de l'article (5 en l’occurrence) ne passe toujours pas

    Je suis à l'écoute de tout conseil que vous pourriez me donner

    En vous remerciant d'avance,

    Cordialement

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Normal : tu ne le récupères pas, et ton $tableau... ne sert à rien.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(!empty($_POST['ajout_article'])){ // cases cochées
    	foreach($_POST['ajout_article'] as $idx => $valeur){
    		$id_article = $idx;
    		$quant_art = $_POST['quant_art'][$idx];
    ...
    Dernière modification par Invité ; 25/04/2020 à 09h44.

  6. #6
    Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut remerciements pour tes renseignements.
    Je continue à chercher comment je peux récupérer ma quantité article.
    J'espère que le code que j'ai modifié sur tes conseils me met sur la voie....

    Quant au tableau que j'utilise, en fait je liste la totalité des articles que j'ai dans ma base et je laisse à mon épouse la possibilité de cocher de 1 à n articles pour ensuite pouvoir les rajouter à sa liste de commissions, d'où l'utilisation du array avant de procéder à l'insert dans ma table commissions.

    je pensais que toutes les variables que je déclarais dans entre les balises
    <form name="article" method="post" action="ajout_articles_courses.php">
    et
    .
    .
    </form>
    étaient postées.

    Il doit y avoir des subtilités que je ne maitrise pas...

    Je te remercie pour tes réponses et je te souhaite un bon week-end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tk : problème de transmission de données entre widgets
    Par HRS dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 24/04/2012, 13h15
  2. [PHP/SQL] Problème d'insertion d'image dans SQL SERVEUR
    Par Joelatack dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/07/2009, 14h28
  3. Problème de transmission de données AS2 <=> PHP
    Par Sh1v3r dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 01/05/2009, 16h07
  4. [SQL] Problème d'affichage de données (tableau html)
    Par Flynt dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/02/2008, 11h04
  5. Réponses: 4
    Dernier message: 18/04/2007, 09h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo