Mysql
 sql >> база данни >  >> RDS >> Mysql

Комбиниране на множество редове или резултати със същото заглавие за образуване на падащи менюта с PHP и MySQL

Не съм сигурен за синтаксиса на PHP, но псевдокодът ето какво можете да направите:

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
}

След това малко логика ще имате всичките си уникални продукти с общи свойства за всеки един и начин за извличане на съответните размери падащо меню. Ако искате да направите това само в SQL, за да сведете до минимум данните, които се прехвърлят, можете да направите нещо подобно:

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

След това можете да създадете същата падаща хеш-таблица, като повторите през втория набор от резултати.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Променете цвета на шрифта на коментара в заявката на MySQL Workbench

  2. Защо MySQL ще изпълни връщане None?

  3. използвайте променлива за име на таблица в mysql sproc

  4. Как да конвертирате тези странни знаци? (ë, Ã, ì, ù, Ã)

  5. INSERT INTO или UPDATE с две условия