|
Débutant
Inscription : juin 2007 Messages : 1 550 Détails du profil  Informations forums : Inscription : juin 2007 Messages : 1 550 Points : 299 Points : 299
|
Afficher le contenu d'une page HTML via du PHP
Bonjour,
Je suis entrain de réaliser un site web pour mon plaisir donc en local.
Je le créer en PHP(via la librairie TPLN) et comme SGBD : mysql.
Je souhaiterai donc que le menu de mon site s'affiche via une table 'liste_menus' de ma base de données.
Ci-dessous le contenu de la table 'liste_menus' :
Citation:
--
-- Structure de la table `liste_menus`
--
CREATE TABLE IF NOT EXISTS `liste_menus` (
`LM_id` smallint(6) NOT NULL AUTO_INCREMENT,
`LM_affichage` smallint(6) NOT NULL COMMENT 'AFFICHAGE DU MENU SELON LETAT DU MEMBRE : 1=Membre non connecté; 2=Membre connecté; 3=Membre connecté ou non connecté',
`LM_ordre_menu` smallint(6) NOT NULL,
`LM_ordre_sous_menu` smallint(6) NOT NULL,
`LM_libelle` varchar(500) NOT NULL,
`LM_lien` varchar(500) NOT NULL,
PRIMARY KEY (`LM_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
--
-- Contenu de la table `liste_menus`
--
INSERT INTO `liste_menus` (`LM_id`, `LM_affichage`, `LM_ordre_menu`, `LM_ordre_sous_menu`, `LM_libelle`, `LM_lien`) VALUES
(1, 3, 1, 0, 'ACCUEIL', 'Index.php'),
(2, 2, 2, 0, 'DECONNEXION', 'Index.php?action=deconnexion'),
(4, 3, 3, 0, 'GESTION COMPTE', ''),
(5, 2, 3, 1, 'Informations Personnelles', 'Index.php?action=informations_personnelles'),
(6, 2, 3, 2, 'Paramètrage des menus', 'Index.php?action=parametrage_menus'),
(7, 2, 4, 0, 'GESTION AGENDA', ''),
(8, 2, 4, 1, 'Paramètrage', ''),
(9, 2, 4, 2, 'Partage', ''),
(3, 1, 2, 0, 'CONNEXION', ''),
(10, 1, 3, 1, 'Mot de passe perdu', 'Index.php?action=mot_passe_perdu'),
(11, 1, 2, 1, 'Connexion', 'Index.php?action=connexion');
|
Ensuite, ci-dessous mon code PHP me permettant d'afficher les menus et sous menus :
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
<?php
$Tpl->Open('Modules/menus/M_menus_base.html');
// Requête permettant de récupérer les menus.
$sql_menus = "SELECT * FROM liste_menus WHERE LM_affichage IN('1','3') AND LM_ordre_sous_menu='0' ORDER BY LM_ordre_menu";
$Tpl->DoQuery($sql_menus);
While($menu=$Tpl->DbFetch()) {
$nb = $Tpl->getQueryNb();
// Création de l'affichage des menus.
$liste = '<ul class="titre_menu">';
if($menu['LM_lien']!="")
$liste .= '<li class="menu2"><a href="'.$menu['LM_lien'].'" title="'.$menu['LM_libelle'].'">'.$menu['LM_libelle'].'</a></li>';
else
$liste .= '<li class="menu1">'.$menu['LM_libelle'].'</li>';
$liste .= '</ul>';
// Récupération de(s) sous menus correspondant au menu en cours d'affichage.
$sql_ss_menus = "SELECT * FROM liste_menus WHERE LM_ordre_menu = '".$menu['LM_ordre_menu']."' AND LM_affichage IN('1','3') AND LM_ordre_sous_menu!='0' ORDER BY LM_ordre_sous_menu";
$Tpl->DoQuery($sql_ss_menus);
// Si on à au moins un résultat.
if($Tpl->DbNumRows()) {
// On vérifie si on est au menu 3(=CONNEXION) et si c'est le cas on affiche le contenu du lien dans une div.
// Sinon on affiche le(s) sous menus dans une balise ul.
if($menu['LM_id']=='3') {
$liste .= '<div>';
include('Modules/connexion/M_connexion.html');
$liste .= '</div>';
} else {
$liste .= '<ul class="contenu_menu">';
While($sous_menu=$Tpl->DbFetch()) {
$liste .= '<li><a href="'.$sous_menu['LM_lien'].'" title="'.$sous_menu['LM_libelle'].'">'.$sous_menu['LM_libelle'].'</a></li>';
}
$liste .= '</ul>';
}
}
$Tpl->ChangeQuery($nb);
$Tpl->Parse('liste_menus.liste', $liste);
$Tpl->Loop('liste_menus');
}
$Tpl->Write();
?> |
Pour information, voici le code de la page 'Modules/connexion/M_connexion.htm' :
Code :
1 2 3 4 5 6 7 8 9 10 11
|
<form action="" method="post" name="Form_connexion">
<ul class="contenu_menu">
<li>Mail</li>
<li><input type="text" name="email"></input></li>
<li>Mot de passe</li>
<li><input type="password" name="mdp"></input></li>
<li><input type="submit" name="valider" value="Valider"></input></li>
<li><a href="Index.php?action=inscription" title="S'inscrire ?">S'inscrire ?</a></li>
</ul>
</form> |
Mon problème c'est que le menu s'affiche mais pas au bon endroit. Ci-joint ce que j’obtiens comme visualisation.
Ma question est : Comment puis-je faire pour que la partie connexion (entouré en rouge) soit placé en dessous du menu 'CONNEXION' ?
Merci d'avance.
|