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

PHP SQL Join Query за сливане на съдържание в Multi-Array

Можете да направите това с комбинация от PHP и MySQL. Променете заявката си на това:

SELECT section_titel as t1, GROUP_CONCAT(sub_section_titel) as t2 
FROM sections LEFT JOIN sub_sections ON section_id = sId
GROUP BY t1
HAVING t2 IS NOT NULL

Това ще ви даде таблица с резултати като тази:

t1              t2
Section One     SubOne,SubTwo
Section Three   SubThree

(Ако искате резултат за Section Two , премахнете HAVING t2 IS NOT NULL условие от заявката)

След това във вашия PHP (предполагам, че mysqli с връзка $conn )

$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$out = array();
while ($row = mysqli_fetch_array($result)) {
   $out[] = array('t1' => $row['t1'], 't2' => explode(',', $row['t2']));
}
print_r($out);

Изход:

Array
(
    [0] => Array
        (
            [t1] => Section One
            [t2] => Array
                (
                    [0] => SubOne
                    [1] => SubTwo
                )    
        )

    [1] => Array
        (
            [t1] => Section Three
            [t2] => Array
                (
                    [0] => SubThree
                )
        )
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявка от квадратчета за отметка

  2. Java Threads и MySQL

  3. използвате Google Документи като база данни?

  4. Кой е най-добрият начин за генериране на класации в MYSQL?

  5. Променете тип колона от Date на DateTime по време на миграция на ROR