Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-05-2008 18:27:50

sphax3d
Membre
Lieu: Calais, France
Date d'inscription: 14-05-2008
Messages: 12
Site web

[Zend_Db][1.5] Lister des catégories et leur contenu

Bonjour à tous, (premier post sur le forum smile)

J'ai besoin d'un peu d'aide de la communauté z-f !

Je cherche à  créer une structure de donnée pour afficher une page avec des catégories de logiciels et les logiciels associés.
Pour l'instant, je fais une requête pour les catégories puis une requête pour les logiciels et lors de l'affichage je compare l'identifiant des catégories à l'identifiant de catégorie de chaque logiciel.

Code:

foreach ($this->categories as $categorie)
{
    echo $categorie->nom ;
    foreach ($this->logiciels as $logiciel)
    {
        if ($logiciel->id_categorie == $categorie->id)
        {
            echo $logiciel->nom.' : '.$logiciel->description ;
        }
    }
}

J'arrive à quelque chose comme ça :

Code:

catégorie 1
    logiciel 1 : description
    logiciel 3 : description
catégorie 2
    logiciel 2 : description
    logiciel 4 : description
    logiciel 5 : description

Je me demande maintenant si il n'y aurait pas un moyen, au niveau de la requête SQL ou au niveau du Controller de créer une structure ressemblant à ça :

Code:

object(Zend_Db_Table_Rowset) {
    ["_data:protected"] => array(2) {
        [0] => array(3) {
            ['id'] => string(1) "1" 
            ["nom"] => string(12) "catégorie 1"
            ["logiciels"] => array(2) {
                [0] => array(3) {
                    ["id"] => string(1) "1"
                    ["nom"] => string(10) "logiciel 1"
                    ["description"] => string(3) "..."
                }
                [1] => array(3) {
                    ...
                }
            }
        }
        [1] => array(3) {
            ['id'] => string(1) "2" 
            ["nom"] => string(12) "catégorie 2"
            ["logiciels"] => array(3) {
                [0] => array(3) {
                    ["id"] => string(1) "2"
                    ["nom"] => string(10) "logiciel 2"
                    ["description"] => string(3) "..."
                }
                [1] => array(3) {
                    ...
                }
                [2] => array(3) {
                    ...
                }
            }
        }
    }
    ...
}

Franchement, j'ai du mal à croire que ça soit possible, voire que ça soit une bonne méthode !
Enfin merci à tous ceux qui auront des idées pour m'aider :-)

Hors ligne

 

#2 08-09-2009 10:27:15

sphax3d
Membre
Lieu: Calais, France
Date d'inscription: 14-05-2008
Messages: 12
Site web

Re: [Zend_Db][1.5] Lister des catégories et leur contenu

Up ! plus d'un an après :-)

Cette question est de nouveau (encore) d'actualité pour moi. J'ai trouvé quelques méthodes du côté du traitement PHP pour résoudre ce problème mais je ne suis toujours pas convaincu. J'ai toujours l'espoir de tomber sur la solution parfaite en SQL qui me permettrait de récupérer une structure de données telle que celle affichée dans le premier post.

Mon petit doigt me dit qu'un partie du problème pourrait être résolu avec la fonction findManyToManyRowset(), mais là encore c'est le PHP qui fait le travail.

Merci de proposer vos idées :-)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages