Menu dynamique PHP Mysql
zippeur
Messages postés
210
Statut
Membre
-
jordane45 Messages postés 40053 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40053 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
je souhaite créer un menu dynamique en PHP via les données de ma BDD.
Voici, pour le moment, le contenu de ma base (2 tables):
categories (idCateg, titreCateg, positionCateg)
sousCategorie (idSousCateg, idCateg, titreCateg, positionSousCateg)
Les positionCateg et positionSousCateg me servent à définir dans quel ordre je souhaite faire apparaître mes catégories (celle qui sera la 1ere, la 2eme, 3eme etc...)
Ce à quoi je souhaiterai aboutir:
Categ 1 -------- Categ 2 --------- Categ 3
ssCateg1.1 --- ssCateg2.1 ---- ssCateg3.1
ssCateg1.2 --- ssCateg2.2 ---- ssCateg3.2
ssCateg1.3 --- ssCateg2.3 ---- ssCateg3.3
---------------------------------------------------------------------
EDIT : Ajout des balises de code
je souhaite créer un menu dynamique en PHP via les données de ma BDD.
Voici, pour le moment, le contenu de ma base (2 tables):
categories (idCateg, titreCateg, positionCateg)
sousCategorie (idSousCateg, idCateg, titreCateg, positionSousCateg)
Les positionCateg et positionSousCateg me servent à définir dans quel ordre je souhaite faire apparaître mes catégories (celle qui sera la 1ere, la 2eme, 3eme etc...)
Ce à quoi je souhaiterai aboutir:
Categ 1 -------- Categ 2 --------- Categ 3
ssCateg1.1 --- ssCateg2.1 ---- ssCateg3.1
ssCateg1.2 --- ssCateg2.2 ---- ssCateg3.2
ssCateg1.3 --- ssCateg2.3 ---- ssCateg3.3
---------------------------------------------------------------------
<ul id="nav" class="menu">
<?php
$sql = "SELECT * FROM categories AS n, souscategorie AS a WHERE n.idCateg = a.idCateg2";
$result = @mysql_db_query($dbname, $sql, $id_link);
while ($list = mysql_fetch_array($result))
{
$id_page= $list['idCateg'];
$titre = $list['titreCateg'];
$soutitre = $list['titreSousCateg'];
$Id_parent= $list['positionCateg'];
echo" <li><a href='#' id='current'> $titre</a><ul>
<li><a href='index.html'>$soutitre</a></li></ul> </li>
";
}
?>
EDIT : Ajout des balises de code
A voir également:
- Menu dynamique PHP Mysql
- Menu déroulant excel - Guide
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Easy php - Télécharger - Divers Web & Internet
- Canon quick menu - Télécharger - Utilitaires
1 réponse
Bonjour,
1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Pour ta requête.. utilises un ORDER BY pour classer les éléments...
3 - Ensuite dans ton code PHP :
1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Pour ta requête.. utilises un ORDER BY pour classer les éléments...
SELECT *
FROM categories C
,sousCategorie SC
WHERE C.idCateg = SC.idCateg
ORDER BY C.idCateg, SC.positionSousCateg
3 - Ensuite dans ton code PHP :
while ($list = mysql_fetch_array($result)){
$idCateg= $list['idCateg'];
$titre = $list['titreCateg'];
$soutitre = $list['titreSousCateg'];
$positionCateg= $list['positionCateg'];
if($idCategPrec !=$idCateg && $idCategPrec !=''){
echo "</ul> </li>";
}
if($idCategPrec !=$idCateg ){
echo" <li style='display: inline-block'><a href='#' id='current'>".$titre."</a><ul>";
}
echo " <li><a href='index.html'>".$soutitre."</a></li>";
$idCategPrec=$idCateg;
}