Générer HTML depuis un tableau multidimentionel

Résolu/Fermé
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 - 31 janv. 2015 à 23:44
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 - 1 févr. 2015 à 02:57
J'aimerais générer un code HTML avec le format suivant depuis le tableau que j'ai mit en liens.

    <li id="821" class="folder">Accessoires tablette et cellulaire
      <ul>
        <li id="426" class="folder">Accessoires pour cellulaire
          <ul>
            <li id="675">Supports et stations d'accueil</li>
            <li id="680" class="folder">Chargeurs maison et automobile
              <ul>
                <li id="689">Chargeurs pour cellulaire</li>
                <li id="690">Chargeurs pour téléphone intelligent</li>
              </ul>
            </li>
            <li id="681" >Pellicules protectrices</li>
            <li id="682" >Câbles et adaptateurs pour cellulaire</li>
            <li id="683" >Autres accessoires</li>
            <li id="684" >Lentilles pour iPhone</li>
            <li id="687" >Étuis pour cellulaire</li>
            <li id="688" >Accessoires Bluetooth et mains libres</li>
          </ul>
        <li id="132"  class="folder">Accessoires - iPod et lecteur MP3
          <ul>
            <li id="238" >Émetteurs FM</li>
            <li id="254" >Étuis protecteurs et sacs de transport</li>
            <li id="272" >Accessoires</li>
            <li id="356" >Lecteurs MP3</li>
          </ul>
        </li>
        <li id="347"  class="folder">Accessoires pour tablette
          <ul>
            <li id="481" >Stylos et clavier</li>
            <li id="482" >Câbles et adaptateurs</li>
            <li id="486" >Chargeurs maison et automobile</li>
            <li id="489" >Étuis protecteurs et sacs de transport</li>
            <li id="485" >Supports et stations d'accueil</li>
          </ul>
        </li>
      </ul>
    </li>



[Le tableau multidimensionnel ]: https://dev.itgestion.info
[L'objectif]: https://dev.itgestion.info/tree.PNG

Le id du <li> doit être category_id le texte doit être name.
A voir également:

2 réponses

Utilisateur anonyme
1 févr. 2015 à 00:11
Bonsoir mettre "Merci" dans la signature c'est malin, comme ça il y est une fois pour toute, Bonjour au début du message c'est pas mal aussi....
0
Zephirr Messages postés 317 Date d'inscription mardi 30 décembre 2014 Statut Membre Dernière intervention 6 novembre 2015 100
1 févr. 2015 à 00:38
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
1 févr. 2015 à 01:05
Merci de me montré la base du PHP,

Je sais comment faire un tableau, puisque j'ai mit un tableau de 241 page en exemple.

Ce que je veux savoir c'est comment généré un code HTML depuis ce tableau au format que j'ai montré plus haut.

j'ai créé un code qui le fais très bien mais je voudrais pas être celui que le met
jour après moi.

Je cherche une meilleur façons de générer la même chose de façons clair et lisible.

Voici ce que j'ai pour le moment et qui fonctionne très bien.

<div id="tabs-3">
<div id="tree">
<ul id="treeData" style="display: none;">
<?php
//GET ALL CATEGORY
$updater = new magento_updater();
$cat = $updater->getCategory();

//KEY
$c = 'children';
$i = 'category_id';
$n = 'name';
$ac = 'is_active';

//0
$l0 = 0;
while(isset($cat[$c][$l0])){
echo '<li id="'.$cat[$c][$l0][$i].'" '.(($cat[$c][$l0][$ac] != 1) ? 'class="unselectable"' : NULL).' '.((count($cat[$c][$l0][$c]) > 0) ? 'class="folder"' : NULL ).'>'.$cat[$c][$l0][$n]."\n";
if (count($cat[$c][$l0][$c]) > 0){
echo '<ul>'."\n";
//1
$l1 = 0;
while(isset($cat[$c][$l0][$c][$l1])){
echo '<li id="'.$cat[$c][$l0][$c][$l1][$i].'" '.(($cat[$c][$l0][$c][$l1][$ac] != 1) ? 'class="unselectable"' : NULL).' '.((count($cat[$c][$l0][$c][$l1][$c]) > 0) ? 'class="folder"' : NULL ).'>'.$cat[$c][$l0][$c][$l1][$n]."\n";
if (count($cat[$c][$l0][$c][$l1][$c]) > 0){
echo '<ul>'."\n";
//2
$l2 = 0;
while(isset($cat[$c][$l0][$c][$l1][$c][$l2])){
echo '<li id="'.$cat[$c][$l0][$c][$l1][$c][$l2][$i].'" '.(($cat[$c][$l0][$c][$l1][$c][$l2][$ac] != 1) ? 'class="unselectable"' : NULL).''.((count($cat[$c][$l0][$c][$l1][$c][$l2][$c]) > 0) ? 'class="folder"' : NULL ).'>'.$cat[$c][$l0][$c][$l1][$c][$l2][$n]."\n";
if (count($cat[$c][$l0][$c][$l1][$c][$l2][$c]) > 0){
echo '<ul>'."\n";
//3
$l3 = 0;
while(isset($cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3])){
echo '<li id="'.$cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$i].'" '.(($cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$ac] != 1) ? 'class="unselectable"' : NULL).' '.((count($cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$c]) > 0) ? 'class="folder"' : NULL ).'>'.$cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$n]."\n";
if (count($cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$c]) > 0){
echo '<ul>'."\n";
//4
$l4 = 0;
while(isset($cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$c][$l4])){
echo '<li id="'.$cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$c][$l4][$i].'" '.(($cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$c][$l4][$ac] != 1) ? 'class="unselectable"' : NULL).'>'.$cat[$c][$l0][$c][$l1][$c][$l2][$c][$l3][$c][$l4][$n]."\n";
$l4++;
}
echo '</ul>'."\n";
}
$l3++;
}
echo '</ul>'."\n";
}
$l2++;
}
echo '</ul>'."\n";
}
$l1++;
}
echo '</ul>'."\n";
}
$l0++;
}
?>
</ul>
</div>
</div>


S.V.P si vous ne connaissez pas la réponse merci de ne pas commenté avec un bonjour serais bien je le sais et je pense avoir été agréable dans ma demande.

De plus je cherche l'aide d'une personne qui connais le PHP pas le français.

Merci de votre aide!
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
1 févr. 2015 à 01:06
P.S. si vous collé le code dans un fichier PHP il sera déjà plus lisible.
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151 > nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018
1 févr. 2015 à 01:07
Finalement la ligne $cat = $updater->getCategory(); retourne le tableau que j'ai mit en exemple.
0
Zephirr Messages postés 317 Date d'inscription mardi 30 décembre 2014 Statut Membre Dernière intervention 6 novembre 2015 100
1 févr. 2015 à 01:21
Toutes mes excuses pour cette réponse quelque hâtive.
Je ne connais pas l'objet
magento_updater();

Peux-tu m'en dire plus?

Ps: la coloration syntaxique est disponible en haut a droite de la fenêtre de réponse.
0
Zephirr Messages postés 317 Date d'inscription mardi 30 décembre 2014 Statut Membre Dernière intervention 6 novembre 2015 100
1 févr. 2015 à 01:21
Ah ok
0