Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous, (premier post sur le forum )
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.
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 :
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 :
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
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
Pages: 1