Hello all... I'm working on a partsfinder module for one of my customers and have hit a wall on how to proceed. I apologize for the length of this post in advance...

Here's the scenario. We're displaying an image map of an exploded diagram of a model. On this image are little circles the customer can click on that point to each part and a dialog will pop up showing a picture of the part, it's cost, a link to the product info page and any other upgrade parts which may be available along with a "buy now" or "sold out" button.

I've added 3 fields to the product configuration page in the admin section and 3 columns to the products table. These 3 fields are the diagram the part is shown on, the number(s) on the diagram that the customer will click on and any upgrade part numbers.

I've also created another table called partsfinder which list 3 things, the x,y,z coordinates of the number the customer clicks on, the diagram this row is for and the number on the diagram which the customer clicks on.

Now, when the diagram is loaded (lets say model 2) in the browser. I query the products db for all the products which have model 2 in the diagram field and then loop through each of those products and lookup the coordinates from the partsfinder table based on the number(s) listed in the product and where the diagram equals model 2 in the partsfinder table. I then build hidden divs with all the information for the product that shows in the dialog which pops up when the customer clicks on the numbers on the diagram.

All of this works, but here's the dilemma. I was just informed that some of these parts are on multiple models. I designed the db tables expecting that each part would only be on 1 diagram and now I don't know what to do. I can't figure out how to uniquely identify the link between the proper rows in the partsfinder table and the product. Could someone help me out here as I am at a loss on how to proceed?

Here's an example of what's in the partsfinder table, I can't figure out how to make a table in this post so I'll use " | " as column separators:
id | coordinates | number | diagram
1 | 100,110,9 | 2 | trex250-head
2 | 110,120,9 | 3 | trex250-head
3 | 120,110,9 | 4 | trex250-head

Here's an example of what's in the products table:
products_id | diagram | number | upgrades
1 | trex250-head | 3,4 |
2 | trex250-head | 2 | H25004T-00

As is probably obvious I'm not much of a relational db designer (I'm a professional non-relational db developer). So, any help would be much appreciated. You can see this thing in action Here