sql >> Database >  >> RDS >> Mysql

Meerdere rijen of resultaten met dezelfde titel combineren om vervolgkeuzemenu's te vormen met PHP en MySQL

Ik ben niet zeker van de PHP-syntaxis, maar pseudocode, dit is wat je zou kunnen doen:

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
}

Na dat beetje logica heb je al je unieke producten met de gemeenschappelijke eigenschappen voor elk, en een manier om de corresponderende maten op te halen. Als je dit puur in SQL zou willen doen om de gegevens die worden overgedragen te minimaliseren, zou je zoiets als dit kunnen doen:

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

U kunt vervolgens dezelfde hashtabel met vervolgkeuzemenu's maken door de tweede resultatenset te doorlopen.



  1. MySQL &MSSQL gebruiken voor twee verschillende databases met Entity Framework

  2. Shuffle een tabel in MySQL met een opgeslagen procedure

  3. MySQL TRUNCATE TABLE begrijpen door praktische voorbeelden

  4. Typen SQL Server-cursor - Alleen doorsturen dynamische cursor | SQL Server-zelfstudie / TSQL-zelfstudie