Vous essayez d'attribuer une valeur avec le même nom. Votre dernière valeur est donc remplacée par la valeur existante.
par exemple :votre URL ressemble à,
https://www.example.com/index.php?finished_product_name=abc&material_name=xxx&finished_product_name=pqr&material_name=yyy
donc votre $_GET['finished_product_name'] a pour valeur pqr pas abc .
Si vous pouvez changer le nom du champ avec include [] , alors PHP créera un tableau contenant toutes les valeurs correspondantes :
https://www.example.com/index.php?id[]=123&version[]=3&id[]=234&version[]=4
votre exemple d'URL comme,
https://www.example.com/index.php?finished_product_name[]=abc&material_name[]=xxx&finished_product_name[]=pqr&material_name[]=yyy
ta boucle for est :
for ($i=0; $i < count($_POST['finished_product_name']); $i++ )
{
$product =$_POST['finished_product_name'][$i];
$material = $_POST['material_name'][$i];
$quantity = $_POST'product_quantity'][$i];
}