Hmm, it sounds like you're making this harder work than it needs to be. Surely there's one products table? Should you need to separate the products into categories for example, then you can assign the product with a category_id. Another table lists the id and the category name, not more products.
Example:
Code:
Products table:
----------------------------------------------------------
- product_id | product_name | product_category_id -
----------------------------------------------------------
- 1 | Nike Blaze | 1 -
- 2 | Reebok Sleek | 2 -
----------------------------------------------------------
Category table:
-----------------------------------
- category_id | category_name -
-----------------------------------
- 1 | Trainers -
- 2 | Bags -
-----------------------------------
Taking the above example as a relationship between tables, you can expand further on this.
Products will have product_id, product_name, product_description, product_option_id, product_category_id
Categories will have category_id, category_name
Options will have option_id, option_name, option_product_id
Prices will have price_id, price, price_option_id
To access all the data across the tables you'd query it like:
Code:
SELECT * FROM products
JOIN categories ON product_category_id = category_id
JOIN options ON option_product_id = product_id
JOIN prices ON price_option_id = option_id
WHERE product_name = "nike"
ORDER BY price ASC
Can you see the way the database related from one table to another? I'm still not quite clear how you've structured your tables so it might be best to post some screen shots to let us know what's going on and then type the output as you'd like to see it on the screen. That way we can determine whether it's a PHP, SQL or table structure issue that needs to be addressed.