Pourquoi ne pas utiliser un simple form avec une "method=form" avec un action qui est supposons "mise_a_jour_piece.php" qui recevra en paramètre le ID, le nom modifiable ainsi que le prix modifiable?
Je remplacerais tous les attributs name pour des attributs ID et lorsque vous créez votre code HTML à partir de php à votre place je créerais les id avec le nom nom_leID, prix_leID, etc (exemple : nom_4)
Sur le bouton je mettrais aussi quelque chose du genre id="leID". Je changerais le type de bouton "submit" par "button" et je validerais en javascript avec une fonction du genre "validateClick(leIDduBouton)" *** sur le bouton ça serait onClick="javascript:validateClick(me.id);" *** en faisant un getAttributeByID des champs reliés au bouton cliqué et je créerais 3 champs hidden supplémentaires, soit idSelection, upnomSelection et upprixSelection que je remplirais avec les valeurs modifiables reliées au ID cliqué via le bouton "mettre à jour".
Exemple :
///////////////////////////////////////////////////////////////////////////////
var nomPiece = getElementById("nom_"+leIDduBouton").value;
var prixPiece = getElementById("prix_"+leIDduBouton").value;
document.nomDuForm.upnomSelection.value = nomPiece;
document.nomDuForm.upprixSelection.value = prixPiece;
document.nomDuForm.submit();
///////////////////////////////////////////////////////////////////////////////
Ce qui donnerait un code du genre dans "mise_a_jour_piece.php" :
$id= $_POST['id'Selection];
$nom = $_POST['upnomSelection'];
$prix = $_POST['upprixSelection'];
P.S. Si vous voulez garder les attributs name au lieu de id pour une raison que j'ignore le getAttributeByName aussi fonctionne...