Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer le contenu d'une ligne d'un tableau html

Afficher ligne sélectionner d'un tableau html dans un formulaire

Sujet résolu
    26 mars 2015 à 16:08:57

    Bonjour,

    Je travail sur un projet en JEE pour la gestion des statistiques agricoles dans le cadre de mon stage.

    J'aimerai récupérer les données d'un tableau html et les placer dans un formulaire pour la modification. Le tableau contient les données d'une table de la base de données. Donc si l'utilisateur clic sur le bouton Modifier, les données de la ligne du tableau seront transmises dans un formulaire.

    Mon problème c'est que je n'arrive pas à récupérer les données de la ligne du tableau.

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
    A vaincre sans péril, on triomphe sans gloire.
      27 mars 2015 à 11:49:14

      Bonjour infoApplis,

      Plusieur solution s'offre à toi:

      1/ Tu envoie un l'ID primaire de ta ligne à ton formulaire de modification, tu cherchera dans ta BDD la ligne qui correspond à l'ID, et tu charge les infos dans ton formulaire. Cette methode est certe plus longue, mais elle présente un avantage, si ce sont des données qui peuvent rapidement ce mettre à jour, alors le fait recharger l'informations de ta BDD te donnera les dernieres modifications.

          EXEMPLE: Au clic sur un bouton modifier -> envoie de l'ID au controleur (ou page de traitement) -> fonction de recherche -> generation de l'objet( ou mise en tableau des données) -> envoie à ton formulaire

      2/ Tout depent si ton formulaire de modif est dans la même page, est ce le cas? Si oui, alors va voir du coté de JavaScript, il te suffira de recuperer ton numéro de ligne de ton Tableau HTML, et de basculer une par une les informations désiré.

      Pour ma part, je te conseil d'utiliser la premiere méthode, qui t'offre plus de sécurité.

      Si tu as besoin de d'autre conseil, n'hesite pas à recontacter.

      • Partager sur Facebook
      • Partager sur Twitter
        27 mars 2015 à 15:52:56

        Bonjour Thibaut,

        Merci pour la réponse, en effet j'ai opté pour la première solution qui consiste à l'envoie de l'ID primaire de la ligne au formulaire. Mon soucis, c'est que je n'arrive pas à récupérer le contenu de la première colonne qui contient les identifiants pour faire la comparaison avec les données qui sont dans la base de données.

        Pour répondre à ta question, j'ai deux pages différentes : la première contient les données de la base de données affichées dans le tableau et la deuxième contient le formulaire servant à accueillir les données pour modification.

        Voici le code de la première page nommée liste-inscrit contenant le tableau.

        <%  		  		
        		
        		out.print("<TABLE Border=1 bordercolor=\"#000000\" CellSpacing=0>");  
        		out.print("<TR>");  
        		out.print("<TH><B>Id Utilisateur</B></TH>"); 
        		out.print("<TH><B>Nom</B></TH>");
        		out.print("<TH><B>Prenom</B></TH>");  
        		out.print("<TH><B>Sexe</B></TH>"); 
        		out.print("<TH><B>Adresse</B></TH>"); 
        		out.print("<TH><B>Téléphone</B></TH>"); 
        		out.print("<TH><B>Mail</B></TH>");
        		out.print("<TH><B>Ville</B></TH>");
        		out.print("<TH><B>Fonction</B></TH>"); 
        		out.print("<TH><B>Date création</B></TH>");				
        		out.print("<TH><B>Editer</B></TD>");
        		out.print("<TH><B>Supprimer</B></TD>");
        		out.print("</TR>");  
        		
        		    out.print("<TR>");   
        		 
        			try {
        		   	  // initialisation de l'objet connexion
        			  Connection conn = Connexion_BD.defaultCon;
        		         
        		      //Création d'un objet Statement
        		      Statement state = conn.createStatement();      //L'objet ResultSet contient le résultat de la requête SQL      
        		      ResultSet result = state.executeQuery("SELECT * FROM utilisateur");
        		      //On récupère les MetaData
        		      ResultSetMetaData getresult = result.getMetaData();   	              	              	              
        		              
        		      while(result.next()) {    
        			        out.print("<TR>");  
        			        out.print("<TD id='iduser'>" +result.getString("idUser") +"</TD>"); 
        			        out.print("<TD>" +result.getString("nom") +"</TD>");     
        			        out.print("<TD>" +result.getString("prenom") +"</TD>");			        
        			        out.print("<TD>" +result.getString("sexe") +"</TD>");
        			        out.print("<TD>" +result.getString("adresse") +"</TD>");
        			        out.print("<TD>" +result.getString("telephone") +"</TD>");
        			        out.print("<TD>" +result.getString("mail") +"</TD>");    
        			        out.print("<TD>" +result.getString("ville") +"</TD>");
        			        out.print("<TD>" +result.getString("fonction") +"</TD>");
        			        out.print("<TD>" +result.getString("dateCreation") +"</TD>");
        			        out.print("<TD><a href='form-edit-inscrit.jsp?idUser=idUser'><img src='../img/button_edit.png' /></a></TD>");
        			        out.print("<TD><a href='suppr-inscrit.jsp'><img src='../img/ed_delete.gif'  /></a></TD>");
        			        out.print("</TR>");   
        			    }     
        		      
        			} catch (Exception e) {
        		        System.err.println( e.getClass().getName()+": "+ e.getMessage() );
        		        System.exit(0);
        			}
        		
        		out.print("</TABLE>"); 
        		
        		%>

        Et voici la deuxième page contenant le formulaire :

        <% 
        
        try {
         	  // initialisation de l'objet connexion
        	  Connection conn = Connexion_BD.defaultCon;
        	  Utilisateur user = new Utilisateur();
            //Création d'un objet Statement
            Statement state = conn.createStatement();      //L'objet ResultSet contient le résultat de la requête SQL      
            ResultSet result = state.executeQuery("SELECT * FROM utilisateur where idUser=idUser");
            //On récupère les MetaData
            ResultSetMetaData getresult = result.getMetaData();   	              	              	              
                    
            
        
        %>

        Donc, cette requête sert à faire une comparaison entre la valeur qui sera récupérée dans le tableau et celle qui se trouve dans la base de données.

        Merci.


        • Partager sur Facebook
        • Partager sur Twitter
        A vaincre sans péril, on triomphe sans gloire.
          27 mars 2015 à 16:03:59

          Si j'ai bien suivie tu veux dire que tu n'arrive pas a recuperer l'id de ta premiere page pour l'envoyer à ton formulaire?

          Comment lance tu l'appel de ta seconde page? Un lien simple? Un evenement?

          • Partager sur Facebook
          • Partager sur Twitter
            30 mars 2015 à 11:26:49

            Désolé pour le retard, j'avais pas accès à Internet le weekend.

            C'est exactement ça, je n'arrive pas à récupérer l'id des enregistrement situés dans la première colonne du tableau et l'envoyer au formulaire pour modification.

            Je dirais que la seconde page survient lorsque l'utilisateur clic sur le bouton Modifier.

            Je m'explique : au clic de l'utilisateur, l'id de l'enregistrement se trouvant sur la ligne contenant le bouton Modifier doit être récupéré et envoyé vers le second formulaire. A ce niveau, une requête vérifie si l'id récupéré correspond à un id dans la base de données. Si c'est le cas, les enregistrements correspondants à l'id sont affichés dans le formulaire pour permettre la modification.

            • Partager sur Facebook
            • Partager sur Twitter
            A vaincre sans péril, on triomphe sans gloire.
              31 mars 2015 à 13:43:43

              Finalement j'ai résolue le problème.

              J'ai modifier la valeur "idUser" lors du passage de paramètre. Ce qui m'a permis de récupérer l'identifiant au niveau du tableau.

              out.print("<TD><a href='form-edit-inscrit.jsp?idUser=idUser'><img src='../img/button_edit.png' /></a></TD>");

              Voici la bonne syntaxe :

               out.print("<TD>"+"<a href=\"form-edit-inscrit.jsp?idUser="+result.getString("idUser")+"\"><img src='../img/button_edit.png' /></a></TD>");

              Merci.


              • Partager sur Facebook
              • Partager sur Twitter
              A vaincre sans péril, on triomphe sans gloire.

              Récupérer le contenu d'une ligne d'un tableau html

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown