1. #1
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 19
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2017
    Messages : 11
    Points : 4
    Points
    4

    Par défaut dupliquer une ligne sql PDO

    Salut, j'ai un problème avec une requète qui ne s'execute pas ,autrefois javais un bug undefined index j'ai alors rajouté des isset depuis ma fonction est comprise mais ne retourne ni une erreur php ni "l'erreur" que j'ai incrémenté dans la fonction duplicate outil.

    j'ai construit un bouton que j'ai lié a deux fonction ,le bouton ouvre un modal de confirmation pour dupliquer un outil ( quand j'aurai reglé mon problème de duplication je m'occuperai d'un nouveau modal qui demandera un nouveau num_serie et qui dupliquera l'outil avec ce nouveau num série ($l représente $liste=Outillage::findAllBynum_serie($t)

    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
    <div id="duplicate'.$l->__get("id").'" class="modal fade bs-exemple-modal-sm" tabinex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
                    <div class="modal-dialog modal-sm">
                        <div class="modal-content">
                            <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                <h4 class="modal-title" id="myModalLabel">Confirmation</h4>
                            </div>
                            <div class="modal-body">
                                <div class="input-group input-group-sm">
                                   <p>Etes-vous sûr de vouloir dupliquer cet outillage ?</p>
                                </div>
                            </div>
                            <div class="modal-footer">
                                <form method="post" action="Site.php?a=duplicateOutil" onsubmit="">
                                   <button type="button" class="btn btn-dault" data-dismiss="modal">Non</button>
                                   <input name="id" type="hidden" type="text" value="'.$l->__get("id").'">
                                   <input id="confirmer" type="submit" value="Oui" class="btn btn-primary">
                                </form>
                            </div>
                        </div>
                    </div>
                </div>

    ma fonction duplicate qui execute la requete sql de duplication d'outil

    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
    public function duplicate($id) {
    	    $c = base::getConnection();
    	    $query = $c->prepare ("INSERT INTO outillage(num_serie,id_art,article,id_doc,document,ilot,emplacement,liste_tubes) SELECT (:num_serie,:id_art,:article,:id_doc,:document,:ilot,:emplacement,:liste_tubes WHERE id=:id);");
            $query->bindParam(':id', $id,PDO::PARAM_INT);
            $query->bindParam(':id_art', $id_art,PDO::PARAM_INT);
    		$query->bindParam(':num_serie', $num_serie,PDO::PARAM_STR);
            $query->bindParam(':article', $article,PDO::PARAM_STR);
            $query->bindParam(':id_doc', $id_doc,PDO::PARAM_STR);
            $query->bindParam(':document', $document,PDO::PARAM_STR);
            $query->bindParam(':ilot', $ilot,PDO::PARAM_INT);
            $query->bindParam(':emplacement', $emplacement,PDO::PARAM_STR);
            $query->bindParam(':liste_tubes', $liste_tubes,PDO::PARAM_STR);
            $query->execute();
     
    	 }

    ma fonction duplicateOutil qui prend les valeurs posté dans un outil

    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
    public function duplicateOutil(){
         var_dump($_POST);
         $o=new outillage();
         $o =outillage::findById($_POST['id']);
         if (isset($_POST["id"])){
             if(isset($_POST["id_art"])){
                 if(isset($_POST["num_serie"])){
                     if(isset($_POST["article"])){
                         if(isset($_POST["id_doc"])){
                             if(isset($_POST["document"])){
                                 if(isset($_POST["ilot"])){
                                    if(isset($_POST["emplacement"])){
                                     if(isset($_POST["liste_tubes"])){
            $o->__set("id_art", $_POST["id_art"]);
    		$o->__set("num_serie", $_POST["num_serie"]);
            $o->__set("article", $_POST["art"]);
            $o->__set("id_doc", $_POST["id_doc"]);
            $o->__set("document", $_POST["doc"]);
            $o->__set("ilot", ilot::findAllByName($_POST["ilot"]));
            $o->__set("emplacement", $_POST["emplacement"]);
            $o->__set("liste_tubes", $_POST["tube"]);
            $o->insert();
              }
             }
            }
           }
          }
         }
        }
       }
      }else{
          print("erreur");
      }
     }

  2. #2
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    9 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 9 813
    Points : 19 737
    Points
    19 737

    Par défaut

    Bonjour,

    et la question est .... ?

    N.B. isset() est assez pratique, et peut être utilisé de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         if ( isset($_POST["id"], $_POST["id_art"], $_POST["num_serie"], $_POST["article"],..........................) ){
    Par contre, est-ce la bonne méthode ici ?
    Tu ne fait que "masquer" le problème.

    "undefined index..." signifie que la variable n'est pas définie.
    Donc, il ne passera pas dans le if.

    Ce serait quand même plus judiceux de comprendre - et corriger - pourquoi la variable n'est effectivement pas définie, non ?
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément."
    Nicolas Boileau-Despréaux (1636-1711).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 19
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2017
    Messages : 11
    Points : 4
    Points
    4

    Par défaut

    ah désolé en fait rien n'est envoyé a ma bdd, je ne comprend pas pourquoi je n'ai pas d'erreur et pourquoi de n'ai pas le doublon dans ma table .Du coup comment faire pour que cela fonctionne?

  4. #4
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    9 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 9 813
    Points : 19 737
    Points
    19 737

    Par défaut

    Si tu parles de CE formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                                <form method="post" action="Site.php?a=duplicateOutil" onsubmit="">
                                   <button type="button" class="btn btn-dault" data-dismiss="modal">Non</button>
                                   <input name="id" type="hidden" type="text" value="'.$l->__get("id").'">
                                   <input id="confirmer" type="submit" value="Oui" class="btn btn-primary">
                                </form>
    Le seul $_POST est $_POST['id'].


    Sinon, merci d'être plus claire dans tes explications.

    Par exemple : où et comment est appelée la fonction duplicateOutil() ?
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément."
    Nicolas Boileau-Despréaux (1636-1711).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #5
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 19
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2017
    Messages : 11
    Points : 4
    Points
    4

    Par défaut

    D'apres toi je devrai mettre un post pour chacune des données de mon array dans le button ? sinon pour la faire courte et claire des que je clique sur oui dans mon modal,j'ai page blanche sans erreur par contre j'ai mis un var dump qui me retourne uniquement l'id de mon array.

  6. #6
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    avril 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 19
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2017
    Messages : 11
    Points : 4
    Points
    4

    Par défaut

    ma fonction duplicateoutil est call avec Site.php?a=duplicateOutil

Discussions similaires

  1. Dupliquer une ligne
    Par Tyler Durden dans le forum SAS Base
    Réponses: 6
    Dernier message: 21/04/2010, 09h29
  2. Procedure pour dupliquer une ligne
    Par gdeon dans le forum PL/SQL
    Réponses: 3
    Dernier message: 15/01/2009, 20h52
  3. Dupliquer une ligne sauf un champ
    Par brassouille dans le forum PL/SQL
    Réponses: 7
    Dernier message: 09/12/2008, 15h13
  4. Comment dupliquer une ligne ?
    Par gspeed007 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 09/11/2008, 20h02
  5. Dupliquer une ligne
    Par khokho dans le forum Administration
    Réponses: 2
    Dernier message: 26/07/2007, 15h47

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