sql >> Database teknologi >  >> RDS >> Mysql

PHP SQL Join Query flette indhold i Multi-Array

Du kan gøre dette med en kombination af PHP og MySQL. Skift din forespørgsel til dette:

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
 

Dette vil give dig en resultattabel som denne:

t1              t2
Section One     SubOne,SubTwo
Section Three   SubThree
 

(Hvis du vil have et resultat for Section Two , fjern HAVING t2 IS NOT NULL betingelse fra forespørgslen)

Derefter i din PHP (jeg antager mysqli med en forbindelse $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);
 

Output:

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

  1. MYSQL &Phpmyadmin viser ikke den samme DB

  2. Skrivning af læsbar kode til VBA – Prøv* mønster

  3. MYSQL, Max, Group by og Max

  4. Find værdier, der ikke indeholder tal, i SQLite