Accueil > > > CREATION D'UN MENU OUVRANT A PARTIR D'UNE BASE MYSQL
CREATION D'UN MENU OUVRANT A PARTIR D'UNE BASE MYSQL
Information sur la source
Description
Voici un code en PHP avec un script pour creer un menu ouvrant depuis une base MYSQL sur 3 niveaux d'ouvertures
nous partons d'une base avec trois info 1- Famille 2- type 3- categ
n'oublier pas de modifier vos acces a votre base MYSQL
ainsi que le lien de retour de page ecrite ici "page.php?choix="
1er partie le script pour les balise HEAD
//////////////////////////////////////////
2eme partie recuperation du fichier
/////////////////////////////////////////
3eme partie le decodage et l'affichage
Source
- <?php
- mysql_connect("sql.votresite", "votreacces", "votrecode");
- mysql_select_db("votretable"); $bouclcateg =0;$afamille=0;$atype=0;$listing=array();$boucltype =0;
- $affamille = array();$aftype =array();
- // creation du listing du menu
- // notre table mysql contient un colonne Famille Une colonne Type et une colonne categorie
- $reponse= mysql_query("SELECT * FROM catalogue ORDER BY type");
- while ($affichage = mysql_fetch_array($reponse))
- {// creation liste des familles
- if ($affichage['Famille'] != "")
- {
- $a = $afamille +1;$v = 0;
- for ($boucle=1; $boucle < $a; $boucle++)
- {
- if ($affichage['Famille'] == $affamille[$boucle])
- {$v = 1;} // la famille existe deja
- }
- if ($v == 0) // nouvelle famille
- {
- $affamille[$afamille] =$affichage['Famille'];
- $afamille++;
- }
-
- }
- // creation de la liste type
- if ($affichage['type'] != "")
- {
-
- $a = $atype +1;$v = 0;
- for ($boucle=1; $boucle < $a; $boucle++)
- {// le type existe
- if ($affichage['type'] == $aftype[$boucle]){$v = 1;}
- }
- // nouveau type
- if ($v == 0) { $aftype[$atype] =$affichage['type'];$atype++;}
- // affectation du type a la ligne
- $a = $atype +1;
- for ($boucle=1; $boucle < $a; $boucle++)
- {
- if ($affichage['type'] == $aftype[$boucle])
- {$retype = $boucle;}
- }
- }
- if ($affichage['listing'] != "")
- {$bouclcateg++;
- // affection de la famille a la ligne
- $a = $afamille +1;$refamille =0;
- for ($boucle=1; $boucle < $a; $boucle++)
- {
- if ($affichage['Famille'] == $affamille[$boucle])
- {$refamille = $boucle;}
- }
- // affectation du type a la ligne
- $a = $atype +1;$retype =0;
- for ($boucle=1; $boucle < $a; $boucle++)
- {
- if ($affichage['type'] == $aftype[$boucle])
- {$retype = $boucle;}
- }
- // cretion du listing produit
- $listing[$bouclcateg]='@'.$refamille.'@'.$retype.'@'.$affichage['listing'];
- $listingtotal[$bouclcateg]=$affichage['listing'];
- $typetotal[$bouclcateg] = $affichage['type'];
- }
-
- }
- mysql_close();
- ?>
- <html>
-
- <head>
- <title>Menu deroulant</title>
- <script type="text/javascript">
-
- document.write('<style type="text/css">');
- document.write('.show,.show2 {display:none}<');
- document.write('/s'+'tyle>');
-
- function ShowMore2(lien,id) {
- var tag = 'a';
- var clas = 'more2';
- ChangeClass(tag,clas);
- lien.className = 'more2on';
-
- var tag = 'span';
- var clas = 'show2';
- ChangeClass(tag,clas);
- var show = document.getElementById(id);
- show.className = 'show2on';
- }
-
- function ShowMore(lien,id) {
- var tag = 'a';
- var clas = 'more';
- ChangeClass(tag,clas);
- lien.className = 'moreon';
-
- var tag = 'span';
- var clas = 'show';
- ChangeClass(tag,clas);
- var show = document.getElementById(id);
- show.className = 'showon';
- }
-
- function ChangeClass(tag,clas) {
- var link = document.getElementsByTagName(tag);
- for (var i = 0; i < link.length; i++) {
- if (link[i].className == clas+'on') link[i].className = clas;
- }
- }
- </script>
- </head>
-
- <body>
- <div id="articles" class="pageon">
- <?php $afamille++; $atype++; $bouclcateg++;$menu=array();$menutype = array ();$existe=array();$existe2 ="";
- // craetion du listing des d'affichages
- for ($boucle=1; $boucle < $bouclcateg; $boucle++)
- {
- $decoupef = explode('@',$listing[$boucle]);$b =1;$e = 2;$f=1;
- for ($boucle1=1; $boucle1 < $afamille; $boucle1++)
- {// a quelle famille appartient l'article
- if ($decoupef[$b] == $boucle1)
- {
- for ($boucle2=1; $boucle2 < $atype; $boucle2++)
- {$g = 0; // a quelle type
- if ($decoupef[$e] == $boucle2 AND $typetotal[$boucle] != "")
- {
- $classe = $boucle1.$boucle2 ;
- if (isset ($menu[$classe]))
- {// enregistrement des type et categorie
- $menu[$classe] = $menu[$classe].'<li><a href="page.php?choix='.$listingtotal[$boucle].'" target="_top"><font color="#333366">'.$listingtotal[$boucle].'</font></a>';
- }
- else
- {
- $menu[$classe] = $menu[$classe].'<br><a href="#" onClick="ShowMore(this,\'description'.$classe.'\')" class="more"><font color="#333399"> -'.$typetotal[$boucle].'</font></a><span class="show" id="description'.$classe.'"><ul><li><a href="page.php?choix='.$listingtotal[$boucle].'" target="_top"><font color="#333366">'.$listingtotal[$boucle].'</font></a>';
- }
- $g=1;
- $existe2 = $existe2.' '.$listingtotal[$boucle];
-
- }
-
-
- } // enregistrement des categorie sans type
- if ($g == 0 )
- {$verif = $listingtotal[$boucle];
- ereg($verif,$existe2,$out);
- if ($out == "")
- {
- $menu[$boucle1] =$menu[$boucle1].'<li><a href="page.php?choix='.$listingtotal[$boucle].'" target="_top"><font color="#333366">'.$listingtotal[$boucle].'</font></a>';
- }
- }
- }
- }
-
- }
- for ($boucle1=1; $boucle1 < $afamille; $boucle1++)
- {// affichage des familles
- echo '<br><b><a href="#" onClick="ShowMore2(this,\'detail'.$boucle1.'\')" class="more2"><font color="#CC0000">'.$affamille[$boucle1].'</font></a></b><span class="show2" id="detail'.$boucle1.'">';
- for ($boucle2=1; $boucle2 < $atype; $boucle2++)
- {
- $classe = $boucle1.$boucle2;
- if (isset ($menu[$classe]))
- {
- echo ' '.$menu[$classe].'</ul></span> ';
- }
- }
- echo $menu[$boucle1].'</span> ';
-
- }
- ?>
- </div>
- </body>
- </html>
<?php
mysql_connect("sql.votresite", "votreacces", "votrecode");
mysql_select_db("votretable"); $bouclcateg =0;$afamille=0;$atype=0;$listing=array();$boucltype =0;
$affamille = array();$aftype =array();
// creation du listing du menu
// notre table mysql contient un colonne Famille Une colonne Type et une colonne categorie
$reponse= mysql_query("SELECT * FROM catalogue ORDER BY type");
while ($affichage = mysql_fetch_array($reponse))
{// creation liste des familles
if ($affichage['Famille'] != "")
{
$a = $afamille +1;$v = 0;
for ($boucle=1; $boucle < $a; $boucle++)
{
if ($affichage['Famille'] == $affamille[$boucle])
{$v = 1;} // la famille existe deja
}
if ($v == 0) // nouvelle famille
{
$affamille[$afamille] =$affichage['Famille'];
$afamille++;
}
}
// creation de la liste type
if ($affichage['type'] != "")
{
$a = $atype +1;$v = 0;
for ($boucle=1; $boucle < $a; $boucle++)
{// le type existe
if ($affichage['type'] == $aftype[$boucle]){$v = 1;}
}
// nouveau type
if ($v == 0) { $aftype[$atype] =$affichage['type'];$atype++;}
// affectation du type a la ligne
$a = $atype +1;
for ($boucle=1; $boucle < $a; $boucle++)
{
if ($affichage['type'] == $aftype[$boucle])
{$retype = $boucle;}
}
}
if ($affichage['listing'] != "")
{$bouclcateg++;
// affection de la famille a la ligne
$a = $afamille +1;$refamille =0;
for ($boucle=1; $boucle < $a; $boucle++)
{
if ($affichage['Famille'] == $affamille[$boucle])
{$refamille = $boucle;}
}
// affectation du type a la ligne
$a = $atype +1;$retype =0;
for ($boucle=1; $boucle < $a; $boucle++)
{
if ($affichage['type'] == $aftype[$boucle])
{$retype = $boucle;}
}
// cretion du listing produit
$listing[$bouclcateg]='@'.$refamille.'@'.$retype.'@'.$affichage['listing'];
$listingtotal[$bouclcateg]=$affichage['listing'];
$typetotal[$bouclcateg] = $affichage['type'];
}
}
mysql_close();
?>
<html>
<head>
<title>Menu deroulant</title>
<script type="text/javascript">
document.write('<style type="text/css">');
document.write('.show,.show2 {display:none}<');
document.write('/s'+'tyle>');
function ShowMore2(lien,id) {
var tag = 'a';
var clas = 'more2';
ChangeClass(tag,clas);
lien.className = 'more2on';
var tag = 'span';
var clas = 'show2';
ChangeClass(tag,clas);
var show = document.getElementById(id);
show.className = 'show2on';
}
function ShowMore(lien,id) {
var tag = 'a';
var clas = 'more';
ChangeClass(tag,clas);
lien.className = 'moreon';
var tag = 'span';
var clas = 'show';
ChangeClass(tag,clas);
var show = document.getElementById(id);
show.className = 'showon';
}
function ChangeClass(tag,clas) {
var link = document.getElementsByTagName(tag);
for (var i = 0; i < link.length; i++) {
if (link[i].className == clas+'on') link[i].className = clas;
}
}
</script>
</head>
<body>
<div id="articles" class="pageon">
<?php $afamille++; $atype++; $bouclcateg++;$menu=array();$menutype = array ();$existe=array();$existe2 ="";
// craetion du listing des d'affichages
for ($boucle=1; $boucle < $bouclcateg; $boucle++)
{
$decoupef = explode('@',$listing[$boucle]);$b =1;$e = 2;$f=1;
for ($boucle1=1; $boucle1 < $afamille; $boucle1++)
{// a quelle famille appartient l'article
if ($decoupef[$b] == $boucle1)
{
for ($boucle2=1; $boucle2 < $atype; $boucle2++)
{$g = 0; // a quelle type
if ($decoupef[$e] == $boucle2 AND $typetotal[$boucle] != "")
{
$classe = $boucle1.$boucle2 ;
if (isset ($menu[$classe]))
{// enregistrement des type et categorie
$menu[$classe] = $menu[$classe].'<li><a href="page.php?choix='.$listingtotal[$boucle].'" target="_top"><font color="#333366">'.$listingtotal[$boucle].'</font></a>';
}
else
{
$menu[$classe] = $menu[$classe].'<br><a href="#" onClick="ShowMore(this,\'description'.$classe.'\')" class="more"><font color="#333399"> -'.$typetotal[$boucle].'</font></a><span class="show" id="description'.$classe.'"><ul><li><a href="page.php?choix='.$listingtotal[$boucle].'" target="_top"><font color="#333366">'.$listingtotal[$boucle].'</font></a>';
}
$g=1;
$existe2 = $existe2.' '.$listingtotal[$boucle];
}
} // enregistrement des categorie sans type
if ($g == 0 )
{$verif = $listingtotal[$boucle];
ereg($verif,$existe2,$out);
if ($out == "")
{
$menu[$boucle1] =$menu[$boucle1].'<li><a href="page.php?choix='.$listingtotal[$boucle].'" target="_top"><font color="#333366">'.$listingtotal[$boucle].'</font></a>';
}
}
}
}
}
for ($boucle1=1; $boucle1 < $afamille; $boucle1++)
{// affichage des familles
echo '<br><b><a href="#" onClick="ShowMore2(this,\'detail'.$boucle1.'\')" class="more2"><font color="#CC0000">'.$affamille[$boucle1].'</font></a></b><span class="show2" id="detail'.$boucle1.'">';
for ($boucle2=1; $boucle2 < $atype; $boucle2++)
{
$classe = $boucle1.$boucle2;
if (isset ($menu[$classe]))
{
echo ' '.$menu[$classe].'</ul></span> ';
}
}
echo $menu[$boucle1].'</span> ';
}
?>
</div>
</body>
</html>
Historique
- 02 février 2007 16:22:51 :
- mise a dispo d'un fichier zip au format php pour une lecture plus simple
- 08 février 2007 19:46:49 :
- modifiacation du code a l'affichage le fichier ZIP : j'ai mit un format pour une page php directement en copie
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
espace membre php/mysql [ par kingramizy ]
Bonjour, Voilà, le débute dans le php et MySQl et je suis à la recherche pour mon nouveau site d'un script pour créer un espace membre et une adminis
script airwick_menu [ par marin123 ]
Bonjour,j'utilise le script airwick_menu pour mon site. Il fonctionne tres bien sur free.fr mais quand je veux aller sur l'hébergeur www.lsdp.net il m
semaphore [ par veneur59 ]
Existe-t-il un moyen sur utilisant php et éventellementMySql de vérouiller une ressource quelconque (tablesMySQL, fichier, opération php de mise à jou
Pconnect ou Connect?? [ par nlh ]
Bonjour,alors voila, j'ai un problème qui m'embete pas mal.... j'ai une interface flash qui execute un script php à plusieur reprise, p
Paramètre d'entrée dans un script PHP [ par zeldoi5 ]
Bonjour tout le monde, je ne sais pas si le titre est suffisemment évocateur, mais je voudrais passer le résultat de requêtes SQL (sur
MySQL - Champ text avec php [ par abarthes ]
Bonjours à tous. Mon site est géré par un menu dynamique dont le contenu est dans une base. Quand on clis sur un item du menu, cela ren
Pb avec script php avec manip sur base mysql [ par saccomabi ]
Bonjour,j'utilise le dernier Wamp tout fonctionne phphmyadmin et autres. Lorsque je veux écrire un script php avec une connection ou autre
factorisation de script php [ par salim81 ]
bonjour! j'ai un menu en php,lorsque je clique sur un element de mon menu il me redirige vers une page php qui contient une requete sql. mon probleme
Script php + mysql top liste titre pour webradio [ par mamure ]
Bonsoir tout le monde.Je recherche un script php + mysql pour faire une top liste (20 titres) pour webradio.En fait, le systeme ce serait que l'audite
connexion php [ par stefh ]
bonsoiirr..comment en écrit un script en php pour connecté une base mysql.j'ai déja un code est-ce qu'il est bien codé ou non?? merci de votre réponse
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|