sql >> Database teknologi >  >> RDS >> Mysql

Kombination af flere rækker eller resultater med samme titel for at danne rullemenuer med PHP og MySQL

Jeg er ikke sikker på PHP-syntaksen, men pseudokode her er, hvad du kan gøre:

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
}

Efter den lille smule logik vil du have alle dine unikke produkter med de fælles egenskaber for hver enkelt, og en måde at hente de tilsvarende størrelser på rullemenuen. Hvis du ville gøre dette rent i SQL for at minimere de data, der overføres, kunne du gøre noget som dette:

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

Du kan derefter bygge den samme rulleliste-hashtabel ved at gentage det andet resultatsæt.



  1. Parse parameter standardværdier ved hjælp af PowerShell – Del 2

  2. Kryptering af MySQL-trafik i scripts

  3. Room Migration Alter Tabel tilføjer ikke ny kolonne og migrerer bliver kaldt igen og igen

  4. forvirring med at tilføje 2 tidsværdier