4 pièce(s) jointe(s)
affichage d'un menu depuis une bbd. problème de div. mauvais placement
Bonjour à tous et à toutes,
Je viens vous demander de l'aide aujourd'hui pour un problème d'affichage d'un menu.
J'espère que des courageux pourrons m'aider car je l’avoue lire tous ce qui va suivre et chiant mais j'ai bon espoir que quelqu'un m'aide.
Voici mon problème :
J'ai un menu en html qui fonctionne très bien et je voudrais maintenant le remplir avec les infos qui sont dans ma bdd.
J'ai 4 tables. la table menu, la table rubrique, la table sous menu (les sous onglets vont s'afficher sous les rubriques) et la table image.
table menu :
Pièce jointe 595295
Table rubriques
Pièce jointe 595296
table sous menu
Pièce jointe 595297
images
Pièce jointe 595298
Voici le menu en html qui fonctionne bien
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| <header class="dark">
<nav role="navigation">
<a href="javascript:void(0);" class="ic menu">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
</a>
<a href="javascript:void(0);" class="ic close"></a>
<ul class="main-nav">
<li class="top-level-link">
<a><span>Accueil</span></a>
</li>
<li class="top-level-link">
<a class="mega-menu"><span>Optique</span></a>
<div class="sub-menu-block">
<div class="row">
<div class="col-md-4 col-lg-4 col-sm-4">
<h2 class="sub-menu-head">Femme</h2>
<ul class="sub-menu-lists">
<li><a>Christian Lacroix</a></li>
<li><a>Ray-Ban</a></li>
<li><a>Persol</a></li>
<li><a>Vuarnet</a></li>
</ul>
</div>
<div class="col-md-4 col-lg-4 col-sm-4">
<h2 class="sub-menu-head">Homme</h2>
<ul class="sub-menu-lists">
<li><a>Christian Lacroix</a></li>
<li><a>Ray-Ban</a></li>
<li><a>Persol</a></li>
<li><a>Vuarnet</a></li>
</ul>
</div>
</div>
<div class="row banners-area">
<h2 class="sub-menu-head">Nouveauté</h2>
<div class="col-md-6 col-lg-6 col-sm-6">
<img src="https://opticdeluxe.fr/images/produits/gr/1612477419-lunettes-optique-ray-ban-rb-5371-2000-black.jpg" width="100%;">
</div>
<div class="col-md-6 col-lg-6 col-sm-6">
<img src="https://opticdeluxe.fr/images/produits/gr/1600781724-lunettes-optiques-christian-lacroix-cl-1082-prescription-glasses-165---brown.jpg" width="100%;">
</div>
</div>
</div>
</li>
<li class="top-level-link">
<a class="mega-menu"><span>Solaire</span></a>
<div class="sub-menu-block">
<div class="row">
<div class="col-md-4 col-lg-4 col-sm-4">
<h2 class="sub-menu-head">Femme</h2>
<ul class="sub-menu-lists">
<li><a>Christian Lacroix</a></li>
<li><a>Ray-Ban</a></li>
<li><a>Persol</a></li>
<li><a>Vuarnet</a></li>
</ul>
</div>
<div class="col-md-4 col-lg-4 col-sm-4">
<h2 class="sub-menu-head">Homme</h2>
<ul class="sub-menu-lists">
<li><a>Christian Lacroix</a></li>
<li><a>Ray-Ban</a></li>
<li><a>Persol</a></li>
<li><a>Vuarnet</a></li>
</ul>
</div>
</div>
<div class="row banners-area">
<h2 class="sub-menu-head">Nouveauté</h2>
<div class="col-md-6 col-lg-6 col-sm-6">
<img src="https://opticdeluxe.fr/images/produits/gr/1612482126-lunettes-solaires-persol-3164-2457-1.jpg" width="100%;">
</div>
<div class="col-md-6 col-lg-6 col-sm-6">
<img src="https://opticdeluxe.fr/images/produits/gr/1607092135-lunettes-chloe-femme-solaire-ce-curtis-162s-742.jpg" width="100%;">
</div>
</div>
</div>
</li>
<li class="top-level-link">
<a><span>Contact</span></a>
</li>
</ul>
</nav>
</header> |
et voici mon interpolation avec les tables
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
| <?php
$req_menu_hor = $bdd->prepare("SELECT id, nom_onglet, lien_onglet FROM menu WHERE auth_view <= :auth ORDER BY ordre_aff ASC");
$req_menu_hor->bindValue('auth', $level, PDO::PARAM_INT);
try {
$req_menu_hor->execute();
}
catch (PDOException $e)
{
echo 'Error : ' . $e->getMessage();
die();
}
echo'<div id="header">
<header class="dark">
<nav role="navigation">
<a href="javascript:void(0);" class="ic menu">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
</a>
<a href="javascript:void(0);" class="ic close"></a>
<ul class="main-nav">';
while ($res_menu_hor = $req_menu_hor->fetch())
{
echo'<li class="top-level-link"><a';
$recherche_rub = $bdd->prepare("SELECT rubrique_id, nom_rubrique, num_id_menu FROM rubrique_menu
WHERE num_id_menu = :id_menu AND auth_view_rubrique <= :auth_rub ORDER BY ordre_rubrique ASC");
$recherche_rub->bindValue('id_menu', $res_menu_hor['id'], PDO::PARAM_INT);
$recherche_rub->bindValue('auth_rub', $level, PDO::PARAM_INT);
try {
$recherche_rub->execute();
$total_rub = $recherche_rub->rowCount();
}
catch (PDOException $e)
{
echo 'Error : ' . $e->getMessage();
die();
}
if ($total_rub > 0)
{
echo ' class="mega-menu"';
}
echo'><span>'.$res_menu_hor['nom_onglet'].'</span></a>';
if ($total_rub > 0)
{
echo'<div class="sub-menu-block">';
while ($res_rub = $recherche_rub->fetch())
{
$rech_img = $bdd->prepare("SELECT lien_img, lien_dest FROM image_menu
WHERE id_rub_cor = :num_rub AND auth_view_img <= :auth_sous_ong ORDER BY ordre_aff_img ASC");
$rech_img->bindValue('num_rub', $res_rub['rubrique_id'], PDO::PARAM_INT);
$rech_img->bindValue('auth_sous_ong', $level, PDO::PARAM_INT);
try {
$rech_img->execute();
$total_img = $rech_img->rowCount();
}
catch (PDOException $e)
{
echo 'Error : ' . $e->getMessage();
die();
}
if ($total_img > 0)
{
echo'<div class="row banners-area">';
echo'<h2 class="sub-menu-head">'.$res_rub['nom_rubrique'].'</h2>';
while ($res_img = $rech_img->fetch())
{
echo'<div class="col-md-6 col-lg-6 col-sm-6"><img src="'.$res_img['lien_img'].'" width="100%;"></div>';
}
echo'</div>';
}
else
{
echo'<div class="row">';
echo'<div class="col-md-4 col-lg-4 col-sm-4">';
echo'<h2 class="sub-menu-head">'.$res_rub['nom_rubrique'].'</h2>';
}
$rech_img->closeCursor();
$rech_sous_ong = $bdd->prepare("SELECT nom_s_ong, lien_s_ong FROM sous_menu
WHERE cor_id_rub = :num_id_rub AND auth_view_s <= :auth_s_ong ORDER BY ordre_s_ong ASC");
$rech_sous_ong->bindValue('num_id_rub', $res_rub['rubrique_id'], PDO::PARAM_INT);
$rech_sous_ong->bindValue('auth_s_ong', $level, PDO::PARAM_INT);
try {
$rech_sous_ong->execute();
$total_s_ong = $rech_sous_ong->rowCount();
}
catch (PDOException $e)
{
echo 'Error : ' . $e->getMessage();
die();
}
if ($total_s_ong > 0)
{
echo '<ul class="sub-menu-lists">';
while ($res_sous_ong = $rech_sous_ong->fetch())
{
echo'<li><a>'.$res_sous_ong['nom_s_ong'].'</a></li>';
}
echo '</ul>';
}
echo'</div>';
echo'</div>';
$rech_sous_ong->closeCursor();
}
echo'</div>';
}
$recherche_rub->closeCursor();
echo'</li>';
}
echo'</ul>
</nav>
</header></div>';
$req_menu_hor->closeCursor();
?> |
Le problème c'est que j'ai des </div> pas bien placés et les </li> en trop du coup l'affichage n'est pas top.
Un grand merci à ceux qui prendrons la peine de m'aider.