Vous n'êtes pas identifié(e).
Bonjour à tous,
Pour les besoin d'une formation, j'ai réalisé un site en MVC et POO.
Je suis en train d'essayer d'améliorer ce site, afin de bosser un peu mes compétences, et je commence à sécher en ce qui concerne l'affichage de mon sous menu...
Voici le menu, en statique, tel que je souhaite le réaliser (ce code est fonctionnel):
Ensuite, voilà comment j'ai imaginé rendre ce menu dynamique:
Au niveau de ma base de données, j'ai un champ id_post, qui est en clé étrangère et qui référence le champ id de la table posts. Ainsi, les élément qui correspondent bien au menu ont un id_posts null, et les élément correspondant au sous menu ont un id_posts valant 3, liant donc à l'id 3 de ma table.
Ensuite, dans le fichier qui doit rendre mon menu, actuellement j'ai ceci:
Le résultat: tous les éléments correspondant au menu apparaissent, et à la suite, j'ai les éléments de mon sous-menu.
C'est déjà pas mal, ça prouve que mes requêtes sql sont correctes.
Le soucis, c'est que je souhaite que les éléments de mon sous-menu s'affichent sous l’élément de menu item 3... et ça n'est pas le cas.
Je comprends bien que le soucis se situe au niveau de mes boucles foreach, je suppose d'ailleurs (arrêter moi si je me trompe), que la boucle foreach qui traite le sous menu doit être imbriquée dans la boucle foreach de traitement du menu mais je n'arrive pas à la construire correctement, pour tout dire je suis un peu perdue...
Je planche sur ce soucis depuis quelques jours, sans succès..
J'espère de tout cœur avoir été suffisamment claire, si ça n'est pas le cas, n'hésitez pas à demander, en tout cas j'ai besoin d'aide, car à force... j'ai juste envie de prendre mon PC et de le balancer par la fenêtre lol.
D'avance merci!
Hors ligne
Saluton,
Je n'ai pas le temps d'approfondir mais j'imagine que tu dois n'avoir qu'une seule requête en mettant les tables en jointure pour n'avoir qu'un seul résultat à parcourir dans ton foreach.
Cela ramène ensuite ton problème à celui de Darkangel, gestion de rupture dans un parcours séquentiel (foreach).
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour
Au niveau de ma base de données, j'ai un champ id_post, qui est en clé étrangère et qui référence le champ id de la table posts. Ainsi, les élément qui correspondent bien au menu ont un id_posts null, et les élément correspondant au sous menu ont un id_posts valant 3, liant donc à l'id 3 de ma table.
Vous avez visiblement un problème au niveau conceptuel de vos données. Comment un post peut-il appartenir à une référence menu inexistante? (effet null sur la jointure externe). Vous devez à mon avis avoir posé une contrainte de clé étrangère avec une BD en MyISAM pour que le contrôle du moteur sur la contrainte ne soit pas intervenu.
Je vous suggère de revoir votre copie avant d'aller plus loin, surtout qu'il s'agit d'un cas d'école
++
Dernière modification par Jc (27-11-2013 09:51:26)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne