Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kombinieren mehrerer Zeilen oder Ergebnisse mit demselben Titel, um Dropdown-Menüs mit PHP und MySQL zu bilden

Ich bin mir bei der PHP-Syntax nicht sicher, aber Pseudocode könnte Folgendes tun:

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
}

Nach diesem kleinen bisschen Logik haben Sie alle Ihre einzigartigen Produkte mit den gemeinsamen Eigenschaften für jedes einzelne und eine Möglichkeit, die entsprechenden Größen abzurufen. Wenn Sie dies ausschließlich in SQL tun wollten, um die übertragenen Daten zu minimieren, könnten Sie etwa so vorgehen:

-- 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

Sie können dann dieselbe Dropdown-Hashtabelle erstellen, indem Sie die zweite Ergebnismenge durchlaufen.