A voir également:
- Menu déroulant en php
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Guide
- Windows 11 menu démarrer classique - Guide
- Easy php - Télécharger - Divers Web & Internet
1 réponse
Tu veux/peux le faire avec une base de données?
Je l'ai jamais fait mais rapidement (qui dit rapidement dit à vérifier ^^ ) l'algo pourrait être (impro totale...):
Table menu :
Menu (1 = menu / 0 = sous menu)
Nom
Place
Formulaire d'entrée (histoire de bien faciliter la vie à ton ami):
Menu
Nom
Place (Xième ligne en partant du haut)
avec une fonction qui recalcule la place de chaques éléments de la base après car tu peux insérer un menu entre 2.
une requête qui parcoure ta table avec un ORDER BY sur la place
une boucle qui parcoure le résultat de ta requête et qui affiche tout (grâce à des echos) selon une présentation menu/menu (grâce à une feuille de style) selon si:
menu=0 ou 1.
L'idée est réalisable, mais j'espère avoir été le plus clair possible.
Je l'ai jamais fait mais rapidement (qui dit rapidement dit à vérifier ^^ ) l'algo pourrait être (impro totale...):
Table menu :
Menu (1 = menu / 0 = sous menu)
Nom
Place
Formulaire d'entrée (histoire de bien faciliter la vie à ton ami):
Menu
Nom
Place (Xième ligne en partant du haut)
avec une fonction qui recalcule la place de chaques éléments de la base après car tu peux insérer un menu entre 2.
ouverture base de donnée table menu
une requête qui parcoure ta table avec un ORDER BY sur la place
une boucle qui parcoure le résultat de ta requête et qui affiche tout (grâce à des echos) selon une présentation menu/menu (grâce à une feuille de style) selon si:
menu=0 ou 1.
fermeture base de donnée
L'idée est réalisable, mais j'espère avoir été le plus clair possible.
18 avril 2007 à 10:18
Ce qui donne donc plus simplement :
Un formulaire d'entrée d'un nom de menu
(dans une table menu avec: ID et nom )
ensuite, tu ouvres ta base, et tu fais ta boucle qui va chercher tous les noms et qui les places dans ton code grâce à des échos.
18 avril 2007 à 10:25
Il affiche toujours le meme menu. (J'ai pas encore fait pour le sous-menu mais c'est le meme principe)
Voici le code :
<html>
<head>
<title>Site</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript">
window.onload=montre;
function montre(id)
{
var d = document.getElementById(id);
for (var i = 1; i<=10; i++)
{
if (document.getElementById(''+<?php $Enr["id_sous_menu_p"] ?>))
{
document.getElementById(''+<?php $Enr["id_sous_menu_p"] ?>).style.display='none';
}
}
if (d)
{
d.style.display='block';
}
}
</script>
</head>
<body>
<?php
$IdC = mysql_connect ("localhost" , "root" , "");
if ($IdC == false)
{
echo ("Erreur de connexion");
}
else
{
$OkS = mysql_select_db ("base" , $IdC);
if ($OkS == false)
{
echo ("BDD inexistante");
}
else
{
$ReqSQL ="SELECT * FROM `sous_menu_presentation`";
$Res = mysql_query ($ReqSQL , $IdC);
$Nb = mysql_num_rows ($Res);
$Enr = mysql_fetch_array ($Res);
echo ("<dl>");
for ($i=1 ; $i<=$Nb ; $i++)
{
echo ("<dt onclick=\"javascript:montre(' ".$Enr["id_sous_menu_p"]."');\"><a href=\"". $Enr["lien_sous_menu_p"].".php\" class=\"menu\" target=\"contenu\">". $Enr["nom_sous_menu_p"] ."</a></dt>");
echo("<dd id=\"".$Enr["id_sous_menu_p"]."\">");
echo("<ul>");
for ($j=1 ; $j<=$Nb ; $j++)
{
echo ("<li><a href=\"exemple.php\" target=\"contenu\">Quelques chiffres</a></li>");
}
echo ("</ul>");
echo("</dd>");
}
echo("</dl>");
$OkL = mysql_free_result ($Res);
}
$OkF = mysql_close ($IdC);
}
?>
</body>
19 avril 2007 à 09:06
Merci