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

Как да групирате данни от масив, върнати от заявка за ляво присъединяване в php?

Въпреки че можете да генерирате желания масив в един цикъл, аз предпочитам да изпълня две заявки. Първо извлечете всички марки в масив и добавете празен масив от продукти към всяка марка. След това вземете всички продукти и ги присвоете на свързаната марка.

Тъй като не знам каква DB библиотека използвате, ето някакъв псевдокод:

$data = [];

$brandResult = $db->query("SELECT id, name FROM tbl_brand");
while ($row = $brandResult->fetchObject()) {
    $row->product_names = [];
    $data[$row->id] = $row;
}

$productResult = $db->query("SELECT id, brand_id, p_name FROM tbl_products");
while ($row = $productResult->fetchObject()) {
    $data[$row->brand_id][$row->id] = $row->p_name;
}


  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?

  2. mysql_fetch_array() връща 'предоставеният аргумент не е валиден ресурс за MySQL резултат'

  3. Не мога да използвам mysql_* функции след надграждане на PHP

  4. Защо получавам, че MySQL Error Query е празен?

  5. mysql динамична заявка в съхранена процедура