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

Langage PHP Discussion :

input "bouton" et ajout de ligne


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut input "bouton" et ajout de ligne
    bonjour à tous,

    voici mon code:
    Code : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    echo "<label>approbation :</label>";
    echo "&nbsp";
     
    $sth = $bdd->query('SELECT id_produit, nom_produit FROM produit WHERE description_produit="approbation"');
     
    echo '<select>';
     
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
        echo '<option value="' . $row['id_produit'] . '">'. htmlspecialchars($row['nom_produit']) . '</option>';
    }
    echo '</select>';
    echo "&nbsp";
     
     
    echo'<label>Quantité : </label>';
    echo"<input type='text' name='offreQuantite' value=''> ";
    echo'<label>P.U : </label>';
    echo"<input type='number' name='produitPu' value=''> ";
    echo '<input type="submit" name="plus" value="+">';
    if(isset($_POST['plus'])) {
        echo '<br>';
        echo "<label>approbation :</label>";
        echo "&nbsp";
     
        $sth = $bdd->query('SELECT id_produit, nom_produit FROM produit WHERE description_produit="approbation"');
     
        echo '<select>';
     
        while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
            echo '<option value="' . $row['id_produit'] . '">'. htmlspecialchars($row['nom_produit']) . '</option>';
        }
        echo '</select>';
        echo "&nbsp";
     
     
        echo'<label>Quantité : </label>';
        echo"<input type='text' name='offreQuantite' value=''> ";
        echo'<label>P.U : </label>';
        echo"<input type='number' name='produitPu' value=''> ";
        echo '<input type="submit" name="plus" value="+">';
     
     
    }

    si je clic sur ce bouton, j'ai bel et bien une ligne identique qui se rajoute.
    hors sur cette nouvelle ligne si je clic sur le "nouveau" bouton, il ne me met pas de nouvelle ligne (logique vu qu'il n'y a pas de code pour ce nouveau bouton)
    j'ai testé en ajoutant à nouveau mon code à la suite, mais là il m'affiche les 2 nouvelles lignes directement.

    ce que j'aimerais c'est qu'à chaque fois que je vais cliquer sur le bouton "+", qu'il ajoute la ligne identique.
    je suppose que c'est avec une boucle, mais je sèche...
    merci de vos réponses

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il vaut mieux traiter ça en Javascript car là tu mélanges la soumission du formulaire avec une action qui ne relève que de l'interface.
    Le problème est par exemple que si je fais de modifications sur les champs déjà présent et que je clique sur "+", mes modifications sont perdues.

  3. #3
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut
    ah je n'avais pas pensé à cela...
    du coup faire un onclick?
    mais je ne m'y connais pas très bien en javascript malheureusement, aurais-tu un lien qui pourrais faire référence à mon soucis?
    merci

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

    1/ déjà, tu n'es pas obligée de bourrer ton code de echo ...;

    On SEPARE le code HTML du code PHP.
    ex. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
        $sth = $bdd->query('SELECT id_produit, nom_produit FROM produit WHERE description_produit="approbation"');
     
        echo '<select>';
     
        while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
            echo '<option value="' . $row['id_produit'] . '">'. htmlspecialchars($row['nom_produit']) . '</option>';
        }
        echo '</select>';
    ?>
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
        $sth = $bdd->query('SELECT id_produit, nom_produit FROM produit WHERE description_produit="approbation"');
     ?>
        <select>
    <?php
        while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
    ?>
            <option value="<?php echo $row['id_produit']; ?>"><?php echo htmlspecialchars($row['nom_produit']); ?></option>
    <?php
        }
    ?>
        </select>
    2/ Ensuite...
    je t'avais proposé un TUTO...
    ...et tu avais répondu :
    Citation Envoyé par cristelle1986 Voir le message
    concernant les name etc...je connais tout cela...
    Il faut croire que non.

    3/ Enfin (?)
    Citation Envoyé par cristelle1986 Voir le message
    ...ah je n'avais pas pensé à cela...
    il faut REFLECHIR AVANT de coder (avec un papier et un crayon) :

    • Pour savoir qui fait quoi, quand et comment.
    • Ca permet d'améliorer la CONCEPTION, la METHODOLOGIE, et de trouver les solutions et technologies adaptées.
    • Sans compter que ça évite de perdre du temps dans des voies de garage...


    Exemple de QUESTION(s) à te poser AVANT :
    • comment récupérer les sélections de CHAQUE <select> ? (il leur faut des name différents ?)
    • est-il vraiment nécessaire d'avoir plusieurs <select>, alors qu'on peut en avoir UN SEUL select multiple ?
    • ...


    BREF : utilise ta tête AVANT ton clavier..
    Sinon ce sera ta tête SUR ton clavier :
    Dernière modification par Invité ; 13/06/2017 à 15h26.

  5. #5
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut
    ok, je vais tout séparer html et php...cela sera t'il plus simple à "voir"...

    et puis je vais me poser les questions

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