Salut
Merci pour ce code, il m'a permis d'avancer
Je l'ai un peu modifié, j'utilise notamment des boucles Foreach à la place des While, car les traités sont déjà dans un tableau.
Le code est le suivant :
Code :
- <?php
- //Chargement de la class Catégories
- zend_loader::LoadClass('Categories', FOLDER_PATH . 'application/models');
- //Intance de la class
- $ListeCat = new Categories();
- //Récupère la liste de toutes les catégories
- $arrayisteCat = $ListeCat->ListeCat('logiciel');
-
- //Initialisation
- $categories = array();
-
- //Instance du modèl Catégories
- $ListeSousCat = new Categories();
-
- //Parcour des catégories
- foreach($arrayisteCat AS $category)
- {
-
- if (!isset($categories[$category['nom_cat']]))
- {
- $categories[$category['nom_cat']] = array();
- }
- //Récupère les sous catégorie grace à l'ID
- $result2 = $ListeSousCat->CatById($category['id']);
-
- //Parcour...
- foreach($result2 AS $sousCat)
- {
- $categories[$category['nom_cat']][] = $sousCat['nom_cat'];
- }
- }
-
- print_r($categories);
-
-
- //Création d'un élément select
- $select = new Zend_Form_Element_Select('select');
- /* Tableau à obtenir
- $array = array('couleur' => array('bleu', 'blanc', 'rouge'),
- 'forme' => array('rond', 'carre', 'croix'));
-
- */
-
-
-
- //Liste des catégories / sous catégories
- $select->setMultiOptions($categories);
- ?>
|
J'obtiens un tableau de cette forme :
Code :
- Array ( [Burautique] => Array ( ) [Editeur de texte] => Array ( ) [Internet] => Array ( ) [Navigateurs] => Array ( ) )
|
Le code est super, cependant il y a une chose étrange, c'est que les sous-catégories ont des array(), et du coup sous zend, les sous-catégories sont compté comme des catégories
Un moyen pour enlever cette array ?
Sinan Merci Tirkyth, on y est presque
EDIT: En fait, je pense que ça fonctionne, je fais quelques tests et je confirme !
Message édité par moreno911 le 03-03-2010 à 19:42:36