Creer une arborecense a partir de donnees sql - Page 2
Résolu
Précédent
- 1
- 2
Essaye ce code PHP et si besoin... adapte le à tes besoins
<?php
//-----------------------------------------------------------------------//
// Affichage des éventuelles erreurs php
//-----------------------------------------------------------------------//
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
//-----------------------------------------------------------------------//
// fonction qui permettra de convertir un array en arborescence
//-----------------------------------------------------------------------//
function buildTree(array $elements, $parentId = 0) {
$branch = array();
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$nodes = buildTree($elements, $element['id']);
if ($nodes) {
$element['nodes'] = $nodes;
}
$branch[] = $element;
}
}
return $branch;
}
//-----------------------------------------------------------------------//
//on récupère les données à traiter en bdd
//-----------------------------------------------------------------------//
$db = mysqli_connect('localhost', 'root', '', 'variables_textos');
$tree_data=array();
$sql = 'SELECT id, item_name as name, item_name as text, parent_id
FROM tbl_categories';
$result = mysqli_query($db, $sql);
if(!$result){
echo("Erreur dans la requête: " . mysqli_error($db));
exit;
}
$tree_data = mysqli_fetch_all($result, MYSQLI_ASSOC);
//-----------------------------------------------------------------------//
//on appel la fonction :
//-----------------------------------------------------------------------//
$tree = buildTree($tree_data);
//-----------------------------------------------------------------------//
//on retourne le résultat en JSON
//-----------------------------------------------------------------------//
header("Content-Type: application/json; charset=UTF-8");
echo json_encode($tree);
exit;
SUUUUUUUPER CA FONCTIONNE
C est unn script que tu a creer ou tu l'as trouver sur le net, dans ce cas tu peux me donner le lien.
En tout cas MERCI parceque moi, je n'aurai pas su le faire.
Précédent
- 1
- 2