sql >> Databasteknik >  >> RDS >> Mysql

Kombinera flera rader eller resultat med samma titel för att bilda rullgardinsmenyer med PHP och MySQL

Jag är inte säker på PHP-syntaxen, men pseudokod här är vad du kan göra:

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 lilla logiken kommer du att ha alla dina unika produkter med de gemensamma egenskaperna för var och en, och ett sätt att hämta motsvarande storlekar i rullgardinsmenyn. Om du ville göra detta rent i SQL för att minimera data som överförs, kan du göra något så här:

-- 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 sedan bygga samma hashtabell för rullgardinsmenyn genom att iterera genom den andra resultatuppsättningen.



  1. Hur fixar man vanliga problem med MySQL-databasen?

  2. Sortera efter datum (nyast)

  3. Problem med teckenuppsättningskodning

  4. Köra ett SSIS-paket med dtexec