Saya tidak yakin tentang sintaks PHP, tetapi kode semu inilah yang dapat Anda lakukan:
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
}
Setelah sedikit logika itu, Anda akan memiliki semua produk unik Anda dengan properti umum untuk masing-masing produk, dan cara untuk mengambil ukuran drop-down yang sesuai. Jika Anda ingin melakukan ini murni dalam SQL untuk meminimalkan data yang ditransfer, Anda dapat melakukan sesuatu seperti ini:
-- 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
Anda kemudian dapat membuat hashtable drop-down yang sama dengan mengulangi set hasil kedua.