▶ Forum : référencement, IA, acquisition et monétisation
SecHunter : vos failles, avant les attaquants

Explorer

  • Accueil
  • Statuts
  • Membres
  • Recherche
  • Inscription
  • Identification
guest
  • Accueil
  • › Développement

Array multidimensionnel pour catégories sous-catégories

#1 2016-04-22 09:50:04 · catégories

Mention Walid
🥉 ScoutAccueillant VI12 ansPilier VIClinicien VPremier secours VStratège
Messages : 1 293
Likes : 2
Sémantique

Array multidimensionnel pour catégories sous-catégories

Hello,

Après avoir galéré comme pas possible, je vous partage une solution que j'ai trouvé sur le web pour afficher sous forme d'arbre les catégories et sous catégories. J'ai encore beaucoup à apprendre, notamment au niveau des fonctions sur les Arrays.

Juste une requête sql du genre "SELECT id,parent,name FROM table_category;" sans ce soucier de la relation parents enfants. j'ai trouvé ça pas mal par ce que tous les autres bouts de codes que j'ai trouvé obligeais à faire plusieurs requêtes pour avoir l’arborescence.

Voilà le code est le lien au cas où cela peut vous servir : http://codepad.org/8p9DyHUZ



<?php

$categories = array(
    array('id' => 1,  'parent' => 0, 'name' => 'Category A'),
    array('id' => 2,  'parent' => 0, 'name' => 'Category B'),
    array('id' => 3,  'parent' => 0, 'name' => 'Category C'),
    array('id' => 4,  'parent' => 0, 'name' => 'Category D'),
    array('id' => 5,  'parent' => 0, 'name' => 'Category E'),
    array('id' => 6,  'parent' => 2, 'name' => 'Subcategory F'),
    array('id' => 7,  'parent' => 2, 'name' => 'Subcategory G'),
    array('id' => 8,  'parent' => 3, 'name' => 'Subcategory H'),
    array('id' => 9,  'parent' => 4, 'name' => 'Subcategory I'),
    array('id' => 10, 'parent' => 9, 'name' => 'Subcategory J'),
);

function categoriesToTree(&$categories) {

    $map = array(
        0 => array('subcategories' => array())
    );

    foreach ($categories as &$category) {
        $category['subcategories'] = array();
        $map[$category['id']] = &$category;
    }

    foreach ($categories as &$category) {
        $map[$category['parent']]['subcategories'][] = &$category;
    }

    return $map[0]['subcategories'];

}

echo "=== BEFORE ===\n";
print_r ($categories);

$tree = categoriesToTree($categories);

echo "=== AFTER ===\n";
print_r ($categories);

echo "=== TREE ===\n";
print_r ($tree);
 

0
J'aime ❤️

🔴 Hors ligne

Cette discussion

0réponses
2 579vues
1participants
10ans depuis le dernier message

Participants

W

Lancée par Walid

Sujets similaires

Trouver des domaines de forum thématiser a notre site2 réponse(s)

Scripts sympas pour travailler avec l'API Google Search Console13 réponse(s)

Formation php27 réponse(s)

[TEMPLATE] Générer des balises meta avec GTM1 réponse(s)

script wordpress pour détecter le hotlink sur mon site6 réponse(s)

Poser votre question Inscription gratuite, réponse de la communauté

Pages : 1

Accueil › Développement › Array multidimensionnel pour catégories sous-catégories

Haut

Pied de page des forums

Forum SEO francophone depuis 2012RèglementPlan d'accèsCookies