Générez un tableau php avec une sortie mySQL pour JSON!

Bonjour,
J'ai une question sur la génération d'un tableau php à partir de db-records pour un fichier JSON.

La sortie JSON souhaitée devrait ressembler à cela (cependant, cela pourrait être N'IMPORTE QUELLE sortie similaire, je voudrais comprendre le processus de traduction!)


(
 {
 "label": "CSP",
 "items": (
 {
 "label": "P dispute commission English",
 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. "
 },
 {
 "label": "dispute commission / German",
 "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. "
 }
 )
 },
 {
 "label": "MISCONDUCT",
 "items": (
 {
 "label": "ADMIN Complaint - Guest misconduct template sent to the G (P claims €50)New File",
 "text": "Lorem ipsum dolor sit amet."
 }
 )
 },
 {
 "label": "COVID-19",
 "items": (
 {
 "label": "ADMIN cxl foc due to FC is possible",
 "text": "Lorem ipsum dolor sit amet."
 }
 )
 },
.....)
 

Code (balisage):

J'ai 2 tables dans la DB: (sections: cpicks) (1: n)
SEMrush

Maintenant, j'ai la requête db suivante (je remplacerai mysqli plus tard par PDO, ce n'est pas ma question ici)


$query = "SELECT
`s`.`label` AS `s_label`, 
`c`.`label` AS `c_label`,
`c`.`text` AS `c_text`,
`c`.`section_id` AS `section_id`,
`c`.`cp_id` AS `CP_Id`

FROM `sections` `s`
LEFT JOIN `cpicks` `c` ON (`s`.`id` = `c`.`section_id`)
ORDER BY `s`.`id` DESC";

$result = mysqli_query($connection,$query) or die ('Unable to execute query. '.mysqli_error($connection));

$records = mysqli_fetch_assoc($result);

Code (balisage):

Maintenant, la partie passionnante commence, générant le tableau. Je suis allé si loin maintenant:



$jsonArray = array();

foreach ($records as $CP_output){

$jsonArray()('label') = $CP_output;
}

Code (balisage):

json_encode renvoie: ({"label": "CSP"}, {"label": "dispute commission / German"} …)

Comment puis-je décomposer $ CP_output pour la structure JSON souhaitée?

(Je ne veux pas trouver une meilleure solution pour l'encodage json et cela n'a rien à voir avec AJAX!)
(Veuillez ne pas répondre par: "Pourquoi n'utilisez-vous pas PDO?")

Merci!