Hey Kamy,
You may already have a solution to this but just in case here's an explaination of what Mr. A was describing.
You need 3 tables; products, catagories, and productcatagory. The products table holds info specfic to each product--name, price, id, et. and the catagories table holds info specific to the each of the catagories--name, id, etc. The thrid table only needs 2 fields--productid and catagoryid--and 'joins' the other tables together.
Every product has one and only one entry in the products table and every catagory has one entry in the catagories table but they can each have multiple records in the productcatagory table.
Lets say product id 1 is in catagories, 4, 7, 12. There'd be one record with product id 1 in the products table and one record for each of the three catagories in the catagories table but the productcatagory table would have three records for product id 1:
productid | catagoryid
1 4
1 7
1 12
To list the products that fall under catagory 4 you could do the following select:
select products.name
from products, productcatagory
where productcatagory.catagoryid=4 and productcatagory.productid=products.id
or to find out which catagory the product with id 1 is in:
select catagories.name
from catagories, productcatagory
where productcatagory.productid=1 and catagories.id=productcatagory.catagoryid
Hope this helps,
Dave