Menu dynamique avec BDD
Résolu
troubadour2
Messages postés
277
Date d'inscription
Statut
Membre
Dernière intervention
-
ekamy Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
ekamy Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais pouvoir incorporer un menu dynamique lié à ma BDD.
J'ai trouvé mon bonheur sur le site "developpez.com
https://pbnaigeon.developpez.com/tutoriel/PHP/conception-site-dynamique/
Tous les liens fonctionnent mais je ne sais pas comment afficher mes pages.
Pouvez-vous m'aider un peu s'ils vous plait.
En vous remerciant beaucoup.
Je voudrais pouvoir incorporer un menu dynamique lié à ma BDD.
J'ai trouvé mon bonheur sur le site "developpez.com
https://pbnaigeon.developpez.com/tutoriel/PHP/conception-site-dynamique/
Tous les liens fonctionnent mais je ne sais pas comment afficher mes pages.
Pouvez-vous m'aider un peu s'ils vous plait.
En vous remerciant beaucoup.
A voir également:
- Menu dynamique avec BDD
- Tableau croisé dynamique - Guide
- Menu déroulant excel - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Canon quick menu - Télécharger - Utilitaires
- Windows 11 menu contextuel classique - Guide
15 réponses
Bonjour
Merci pour tes encouragements mais je connais les bases du HTML mais pour ça je ne vois pas.
Peut-être en me donnant quelques explications ça pourrai m'aider.
Merci
Merci pour tes encouragements mais je connais les bases du HTML mais pour ça je ne vois pas.
Peut-être en me donnant quelques explications ça pourrai m'aider.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu peu coller le minima du script que tu utilise on va voir ensemble comment l'adapter pour generer un menu html
Tout d'abord il y a ce script qui affiche soit la page courante soit la page d'accueil
et la fonction qui.......
// on récupère l'id de la page courante passée par l'URL // Si non défini, on considère que la page est la page d'accueil if (isset($_GET['id_page'])) { $_ENV['id_page'] = intval($_GET['id_page']); } else { $_ENV['id_page'] = $id_page_accueil; }
et la fonction qui.......
// Affiche les menus. // Paramètres : id de la page -> $idpage // (id de la page en cours pour le menu de gauche, id de la page racine (1) pour le menu du haut) // Renvoie : le menu sous forme de liste -> $menu_retour function affiche_menu($idpage) { // Sélectionne toutes les pages filles de la page en cours $strSQL = 'SELECT 'Id_page', 'Titre' FROM 'pages' WHERE 'Id_parent' = '.$idpage; $resultat = requete_SQL($strSQL); // Si la page n'a pas de page fille, alors on modifie la requète pour obtenir ses pages soeurs. if (mysql_num_rows($resultat) == 0) { $strSQL = 'SELECT 'Id_page', 'Titre' FROM 'pages' WHERE 'Id_parent' = '.$_ENV['id_parent']; $resultat = requete_SQL($strSQL); } $menu_retour = '<ul>'; while ($tabl_result = mysql_fetch_array($resultat)) { $menu_retour .= '<li>'; $menu_retour .= '<a href="index.php?id_page='.$tabl_result['Id_page'].'">'; $menu_retour .= $tabl_result['Titre']; $menu_retour .= '</a>'; $menu_retour .= '</li>'; } $menu_retour .= '</ul>'; return $menu_retour; } ?>
ben en fait je ne sais pas comment afficher mes pages dynamiquement.
Dans ma BDD j'ai 6 champs dont 1 champ "contenu" j'affiche bien toutes les pages via le menu mais elles sont vides.
mes pages se trouvent dans un dossier "page" à la racine du site.
voici ma table
Merci
Dans ma BDD j'ai 6 champs dont 1 champ "contenu" j'affiche bien toutes les pages via le menu mais elles sont vides.
mes pages se trouvent dans un dossier "page" à la racine du site.
voici ma table
CREATE TABLE IF NOT EXISTS 'pages' ( 'Id_page' int(11) NOT NULL AUTO_INCREMENT, 'Titre' varchar(255) CHARACTER SET utf8 NOT NULL, 'Mots_cles' varchar(255) CHARACTER SET utf8 NOT NULL, 'Description' varchar(255) CHARACTER SET utf8 NOT NULL, 'Contenu' text CHARACTER SET utf8 NOT NULL, 'Id_parent' int(11) NOT NULL DEFAULT '1', PRIMARY KEY ('Id_page') ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ; -- -- Contenu de la table 'pages' -- INSERT INTO 'pages' ('Id_page', 'Titre', 'Mots_cles', 'Description', 'Contenu', 'Id_parent') VALUES (1, 'Accueil', 'Accueil', 'Accueil', 'Accueil', 0), (2, 'L''association', 'L''association', 'L''association', 'L''association', 1), (3, 'Membres', 'Membres', 'Membres', 'Membres', 1), (4, 'Galeries', 'Galeries', 'Galeries', 'Galeries', 1), (5, 'Infos pratiques', 'Infos pratiques', 'Infos pratiques', 'Infos pratiques', 1), (6, 'Historique', 'Historique', 'Historique', 'Historique', 2), (7, 'Statuts', 'Statuts', 'Statuts', 'Statuts', 2), (8, 'Réglement', 'Réglement', 'Réglement', 'Réglement', 2), (9, 'Musiciens', 'Musiciens', 'Musiciens', 'Musiciens', 3), (10, 'Responsables', 'Responsables', 'Responsables', 'Responsables', 3), (11, 'Récompenses', 'Récompenses', 'Récompenses', 'Récompenses', 3), (12, 'Photos', 'Photos', 'Photos', 'Photos', 4), (13, 'Vidéos', 'Vidéos', 'Vidéos', 'Vidéos', 4), (14, 'La presse', 'La presse', 'La presse', 'La presse', 4), (15, 'Notre répertoire', 'Notre répertoire', 'Notre répertoire', 'Notre répertoire', 4), (16, 'Formations', 'Formations', 'Formations', 'Formations', 5), (17, 'Prestations', 'Prestations', 'Prestations', 'Prestations', 5), (18, 'Lieu', 'Lieu', 'Lieu', 'Lieu', 5);
Merci
En fait je crois que je me suis mal expliqué.
Si par exemple c'était un menu classique sans BDD j'aurai juste besoin de cliquer sur le lien du menu pour afficher la page historique
avec se script bien sur
je peux afficher le champ "contenu" de ma table mais juste avec le titre
je ne peux quand même pas mettre le code de toutes mes pages dans ma base de donnée.
C'est là que je ne comprend pas.
Merci
Si par exemple c'était un menu classique sans BDD j'aurai juste besoin de cliquer sur le lien du menu pour afficher la page historique
<a href="index.php?body=historique">Historique</a>
avec se script bien sur
<?php //si la valeur "body" de $_GET existe et est différent de NUL //alors $corps prend pour valeur les 3 chaines de caractéres concaténé, qui représente l'url que je veux afficher if (isset($_GET['body']) && $_GET['body'] != NULL) $corps = 'page/' . $_GET['body'] . '.php'; else $corps = 'page/accueil.php'; ?>
je peux afficher le champ "contenu" de ma table mais juste avec le titre
je ne peux quand même pas mettre le code de toutes mes pages dans ma base de donnée.
C'est là que je ne comprend pas.
Merci
c'est encore moi .
je pensais qu'en rajoutant dans ma table "contenu" page/historique.php
j'allais pouvoir ouvrir cette page, mais non c'est la galère.
je pensais qu'en rajoutant dans ma table "contenu" page/historique.php
j'allais pouvoir ouvrir cette page, mais non c'est la galère.
tu peux m'expliquer ça j'ai du mal à comprendre.
ça concerne mon champ "contenu"
stocker uniquement l'adresse physique sur le serveur de la page à inclure. A ce moment là, il faudra remplacer l'affichage du contenu en provenance de la base de données par un include du chemin extrait du contenu de la DB
Je te remercie
ça concerne mon champ "contenu"
stocker uniquement l'adresse physique sur le serveur de la page à inclure. A ce moment là, il faudra remplacer l'affichage du contenu en provenance de la base de données par un include du chemin extrait du contenu de la DB
Je te remercie
en gros tu stoque le nom de la page qui contien le contenu que tu souhaites faire aparaitre apres le click...
et tu utilise include pour l'afficher
tu récupere ta variable $_POST et tu include la page qui correspond
par exemple
ou directement (en faisant quelques controles sinon c'est dangereux ^^)
et tu utilise include pour l'afficher
tu récupere ta variable $_POST et tu include la page qui correspond
par exemple
url => index.php?body=article $page = $_GET['body']; switch($page){ case "article" : include 'article.php'; break; case "accueil" : include 'accueil.php'; break; defaut : include "login.php"; break; }
ou directement (en faisant quelques controles sinon c'est dangereux ^^)
include $_GET['body'];
Bonjour
Ca y est bon sang de bonsoir..........................................
Super cool ça fonctionne comme je le souhaitais.
C'est génial.
Un grand merci pour tout.
Ca y est bon sang de bonsoir..........................................
Super cool ça fonctionne comme je le souhaitais.
C'est génial.
Un grand merci pour tout.
alors explik ce que tu as fait car je t'avoue je ne vois toujours pas exactement ce que tu voulais faire :)