créer un objet d'un element de base de données.

créer un objet d'un element de base de données. - PHP - Programmation

Marsh Posté le 01-07-2005 à 18:12:23    

j'ai des menus a presenter selon une arborescence
les details (nom,lien, ....) de ce smenus sont issus d'une base.
 
avant d'afficher ces menus, je crois créer des objets de menus
 
mais comme il faut créer une variable pour instancier l'objet menu:
$mon_objet_menu=new menu(...)
 
comment je peux faire pour que $la variable d'instanciation, ait un nom différent pour chaque menu
 
il faudrait que je reconstruise la variable à chaque fois ..
 
je vois pas trop comment m'y prendre.

Reply

Marsh Posté le 01-07-2005 à 18:12:23   

Reply

Marsh Posté le 01-07-2005 à 18:20:22    

faire un tableau?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-07-2005 à 19:38:29    

je peux faire un truc genre :
$tab_menus=array();
 
while (ya des données dans la base)
{
$tab_menus[]=new constructeurObjet(...)  
}
 
puis faire un  
tant que (parcours de tableau)
{
  echo $tab_menus[$i]->attribut  
 
?
c valable (propre) pour un projet pro ?

Reply

Marsh Posté le 01-07-2005 à 19:41:31    

ben oui c'est valable... :lol:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-07-2005 à 19:56:30    

wé remarque ca me fé un tableau d'objets.
 
par contre comment tu verrais un algo permettant d'affichier un tableau de tableaux (cas de menus imbriqués) ?
 
il me faudrait un truc recursif puisque ya imbrication. ca doit etre simple a faire mais je vois pas par ou commencer

Reply

Marsh Posté le 01-07-2005 à 20:00:43    

hé je vais pas te faire tout ton boulot!!
Pour chaque menu ta fonction d'affichage doit parcourir les sous-menus et appeler leur fonction d'affichage...rien de bien complexe!


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-07-2005 à 20:18:05    

wé en gros je crée une fonction
et dans cette fonction je la rappelle
ca fé un cycle juska ce que le tableau soit fini.
 

Reply

Marsh Posté le 01-07-2005 à 21:52:08    

Bah deux tables :
- Catégories principales
- Catégories secondaires (contenant les id des catégories principales auxquelles elle appartiennent)
 

Code :
  1. While ( cat principale ) {
  2.    $cat[$id_cat] == $nom_cat;
  3. }
  4. while ( cat secondaires ) {
  5.    $cat[$id_main_cat][$id_cat] = $nom_sub_cat;
  6. }


 
Un truc du genre non? Ca doit être exploitable et ensuite pour l'affichage c'est plus trés compliqué.


Message édité par dwogsi le 01-07-2005 à 21:53:04

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-07-2005 à 21:58:40    

euh ton truc dwogsi je le comprend pas  
 
dans ton 1er while, prkoi un == ??? t'as du te trompir :p
 
ensuite, disons que c'était une attribution.
 
Dans ton 2eme while, tu consideres que $cat[$id_main_cat] est un tableau.
 
Donc toutes les données que tu as insérées dans le 1er while seront remplacées par un tableau

Reply

Marsh Posté le 01-07-2005 à 22:09:12    

Ouala... Euh ouai je crois aussi que je me suis un peut planté mais normalement avec une seule requête du genre :
 
SELECT * FROM `main_cat`,`sub_cat` WHERE `id_main_cat` = `main_cat` ORDER BY `id_main_cat`;
 
Ensuite un seul while pour la création d'un tableau ou même directement l'affichage.
 
Enfin voilà je sais pas si c'est très clair encore ce que je viens d'écrire. Quoi qu'il en soit c'est effectivement n'importe quoi la solution que j'ai donnée juste avant, donc oubliez ca lol, je devais être ailleurs ya 10 minutes...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 01-07-2005 à 22:09:12   

Reply

Marsh Posté le 02-07-2005 à 12:17:04    

en fait un sous menu doit etre considéré comme un menu
ya pas de notion réelle de sous menu
L'entité unique est Menu en tant qu'objet.
 
ce qui fait qu'un menu est un sous menu, est le fait qu'il soit un menu d'un menu.

Reply

Marsh Posté le 02-07-2005 à 12:42:47    

jokari34 a écrit :

en fait un sous menu doit etre considéré comme un menu
ya pas de notion réelle de sous menu
L'entité unique est Menu en tant qu'objet.
 
ce qui fait qu'un menu est un sous menu, est le fait qu'il soit un menu d'un menu.


mettons que tu as tout mis dans un tableau $tab_menus
ca donne :

Code :
  1. foreach($tab_menus as $menu){
  2. $menu->afficher();
  3. }


 
et afficher un truc du genre

Code :
  1. function afficher(){
  2. //code d'affichage du menu courant
  3. foreach($this->sous_menus as $smenu){
  4. $smenu->afficher();
  5. }
  6. }


 
Si avec ça tu te débrouilles pas...:o


Message édité par skeye le 02-07-2005 à 12:43:36

---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed