Creer une arborecense a partir de donnees sql - Page 2

Résolu
Précédent
  • 1
  • 2
jordane45 Messages postés 30651 Date d'inscription   Statut Modérateur Dernière intervention   4 828
 

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;



0
mont_dani Messages postés 249 Statut Membre
 

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.

0
jordane45 Messages postés 30651 Date d'inscription   Statut Modérateur Dernière intervention   4 828
 

Fonction trouvée, il a longtemps sur le net ...  modifiée pour que ça corresponde à tes besoins

Le reste vient de ton code que j'ai corrigé / amélioré

0
mont_dani Messages postés 249 Statut Membre
 

Et c'est dommage que les 5 script que j'ai essayé ne fonctonnait pas. Je suppose tous pour la même raison. Mais comme nous ne sommes pas tous très doué ou pas du tout en PHP et autre, nous devons apprendre des autres.

MERCI

0
mont_dani Messages postés 249 Statut Membre
 

Une question subsidiaire:

Est il possible d'ajouter a chaque parent un ou plusieur bouton action.

comme ceci

parent   "bouton 1"   "bouton 2"

     parent-1   "bouton 1"   "bouton 2"

     parent-2   "bouton 1"   "bouton 2"

            parent-2-1   "bouton 1"   "bouton 2"

0
Précédent
  • 1
  • 2