I have a dynamic form that users can add extra fields too. The group of fields are added and the name stays the same but gets a incremental number attached to it. So for my insert php file I just check to see if the next value is set and if so it inserts all the required info. But this code doesn't look very 'streamlined' to me. Is there a better way?

    mysql_select_db("inventory", $con);
    
    if( !isset($_POST['productid2']) ) {
    $sql="INSERT INTO shipped (id, type, client, product, color, quantity)
    VALUES ('$_POST[productid]','$_POST[type]','$_POST[client]','$_POST[product]','$_POST[color]','$_POST[quantity]')";
    }
    
    if( isset($_POST['productid2']) ) {
    $sql="INSERT INTO shipped (id, type, client, product, color, quantity)
    VALUES ('$_POST[productid]','$_POST[type]','$_POST[client]','$_POST[product]','$_POST[color]','$_POST[quantity]'),
    ('$_POST[productid2]','$_POST[type2]','$_POST[client2]','$_POST[product2]','$_POST[color2]','$_POST[quantity2]')";
    }
    
    if( isset($_POST['productid3']) ) {
    $sql="INSERT INTO shipped (id, type, client, product, color, quantity)
    VALUES ('$_POST[productid]','$_POST[type]','$_POST[client]','$_POST[product]','$_POST[color]','$_POST[quantity]'),
    ('$_POST[productid2]','$_POST[type2]','$_POST[client2]','$_POST[product2]','$_POST[color2]','$_POST[quantity2]'),
    ('$_POST[productid3]','$_POST[type3]','$_POST[client3]','$_POST[product3]','$_POST[color3]','$_POST[quantity3]')";
    }

        // And I have like this 5 more times, the code gets longer each time!