in reply to Insert into table when user clicks one of many submit buttons
Indeed... if your page consists of multiple <form>s, only one of those forms will be submitted. Therefore, your multi-line catalog form needs to be just one form, with un-ambiguous names for each submitted variable.
I often find it convenient to use an HTTP “session” to good advantage here, storing everything that I need to know about each item that I’m presenting within the session, along with some arbitrary-but-random string which is what I actually include in the various generated form-variable names. (This lets me identify what the user has referred-to, without actually trusting any of the values he’s submitted.)