Не съм сигурен за синтаксиса на PHP, но псевдокодът ето какво можете да направите:
allProductsReturnedFromMySQL = QueryYourDatabaseForAllProducts()
Hashtable[productId, List[productSizes]] dropDownsByProduct;
Hashtable[productId, commonProductInformation] uniqueProducts;
foreach (product in allProductsReturnedFromMySQL) {
if product.productId not in uniqueProducts
then add it with the product information that does not vary
if product.productId not in dropDownsByProduct
then add it with an empty list
append the size of this product to the corresponding list in dropDownsByProduct
}
След това малко логика ще имате всичките си уникални продукти с общи свойства за всеки един и начин за извличане на съответните размери падащо меню. Ако искате да направите това само в SQL, за да сведете до минимум данните, които се прехвърлят, можете да направите нещо подобно:
-- this would get you your products
select distinct id, property1, property2 from product
-- this would get you your drop downs by product
select id, size from product order by id
След това можете да създадете същата падаща хеш-таблица, като повторите през втория набор от резултати.