Récupérer l'id d'un input

Récupérer l'id d'un input - PHP - Programmation

Marsh Posté le 20-03-2010 à 21:17:57    

Bonjour à tous,
 
Dans un formulaire j'ai plusieurs boutons d'envoi sous forme d'image (<input type=\"image\" src=\"../img/edit.png\" id=\"".htmlentities($donnees['ID_PROD'])."\" alt=\"Editer\" title=\"Editer ce produit\">)
 
Je souhaiterais transmettre l'id de l'input sélectionné par le biais de la méthode POST mais je ne sais pas comment faire. J'arrive à transférer toutes mes autres valeurs, mais je ne sais pas comment spécifier l'id d'un input.
 
Avez vous une idée?


---------------
Quand vous demandez sur un forum comment changer un pneu de voiture peu de gens vous répondent. Et ceux qui le font vous expliquent généralement comment rouler sur 3 roues.
Reply

Marsh Posté le 20-03-2010 à 21:17:57   

Reply

Marsh Posté le 21-03-2010 à 05:35:36    

Je me rends compte que j'ai peut être mal expliqué le problème que je rencontre. Je vais tâcher de vous expliquer ça plus en détail.
 
Imaginons une table avec 3 champs:

  • A1 -> récupère l'ID du produit
  • A2 -> récupère le Libellé du produit
  • A3 -> est un <input type="image"> qui fonctionne comme un submit et qui envoi vers une autre page via le <form id="monFormulaire" name="EditPlats" method="post" action="edit-plats_value.php"> au début de ma table.


http://i68.photobucket.com/albums/i7/Anatal/prob_multi_btn.jpg
 
Ma requête est : $afficheProd = "SELECT ID_PROD, LIB_PROD FROM produits";
 
Le problème c'est que quand je clique sur l'icône en A3 cela ne sélectionne pas la ligne où se trouve le bouton, cela me renvoi la dernière ligne générée.  
Sur ma page edit-plats_value.php la requête suivante : <?php echo(htmlentities($_POST['IdProdPlats'])); ?> me rapporte toujours la dernière ligne générée et je ne sais pas comment appeler la ligne sélectionnée!  :??:  
 
<form id="monFormulaire" name="EditPlats" method="post" action="edit-plats_value.php">
 <?php
            mysql_connect("localhost", "root", "" ); // Connexion à MySQL
            mysql_select_db("resto" ); // Sélection de la base "restaurant"
                                                                   
            //début de la création de la table contenant les données extraites
            echo("<table>\n" );
                         
           //création de la requête $afficheProd
            $afficheProd = "SELECT ID_PROD, LIB_PROD FROM produits";
             
            //execution de la requête "afficheProd " (ou affiche l'erreur)
            $rs=mysql_query($listPlatsViandes) or die(mysql_error());  
             
            //début de la zone Plats
            echo("<tr>" );
            echo("<td>ID</td>" );
            echo("<td>Nom du produit</td>" );
            echo("<td>&nbsp;</td>" );
            echo("</tr>\n" );
            // On fait une boucle pour lister les plats :
            while ($donnees = mysql_fetch_array($rs) )
            {
               echo("<tr>" );
        echo("<td><input type=\"text\" name=\"IdProdPlats\" size=\"3\" value=\"".htmlentities($donnees['ID_PROD'])."\" readonly=\"readonly\" /></td>" );
        echo("<td>".htmlentities($donnees['LIB_PROD'])."</td>" );
               // l'input image qui doit envoyer la ligne sélectionnée vers la page 'edit-plats_value.php'
        echo("<td><input type=\"image\" src=\"../img/edit.png\"  name=\"nomBtn\" alt=\"Editer\" title=\"Editer ce produit\"></td>" );
        echo("</tr>\n" );        
            }
            echo("</table>\n" );
        ?>  
</form>

 
Avez vous une idée de comment faire pour récupérer l'ID de la ligne sélectionnée (la ligne sur laquelle j'ai cliqué sur le <input type="image"> ).
 
Merci à vous si prenez le temps de me répondre.  :)


Message édité par SV_LVH le 21-03-2010 à 05:44:55
Reply

Marsh Posté le 21-03-2010 à 09:53:47    

fais un formulaire par ligne  
 
la chaque ligne de ton formulaire a une input name = idProdplat, vec une valeur différente


---------------

Reply

Marsh Posté le 21-03-2010 à 15:17:15    

Oh la vache!  Passer autant de temps sur ce problème et pas me rendre compte que la solution est aussi simple que ça!  :fou:  
Maintenant que tu me le dit ça me parait évident.
 
La honte...

Reply

Marsh Posté le 21-03-2010 à 20:14:52    

un grand classique


---------------

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed