oui en effet. et je viens de me rendre compte que l'affichage du menu n'est pas apparu comme je le voulais :p
je le refait juste avant le code:
-Accueil
-Contact
.....-Contact Admin
.....-Contact Staff
....
Voila comme ca il apparaitras plus propre.
Alors auparavant, je précise que mes tables sont mal faites pour le moment, en effet, j'ai une table pour savoir combien de bloc sont afficher, une tables pour le liens parents qui ont un rappelle de l'id du bloc dans lequel il s'affiche puis encore une table pour es enfants qui ont un rappelle de l'id du lien parents,....
et ainsi de suite, si une structure dans une table permet de faire au moins 5 niveau de menu imbriquer:
-Lien parents (1)
...-Lien enfants (2)
......-Lien enfants (3)
.........-Lien enfants (4)
............-Lien enfants (5)
ou un niveau infinie ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
Dites le moi que je m'y mette car sinon c'est usine a gaz et a requête
Voila, le code JavaScript qui permet de faire les slides:
1 2 3 4 5 6 7 8
| <script type="text/javascript">
function showHide(obj)
{
var ns = obj.parentNode.nextElementSibling;
if(ns.nodeName.toUpperCase() == "UL")
ns.style.display = (ns.style.display == "block") ? "none" : "block";
}
</script> |
et s'active avec
onClick="showHide(this);return false
dans le lien.
Maintenant, voila le code de test que j'utilise:
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
| <ul>
<?php
include("config.php");
$left_menu = mysql_query("Select id, title FROM jos_left ORDER BY id ASC") or die (mysql_error());
$donnees_left_menu = mysql_fetch_array($left_menu);
while ($donnees_left_menu = mysql_fetch_array($left_menu))
{
echo'<div class="left_header_articles"></div><div class="right_header_articles"></div><div class="center_header_articles"></div><div class="left"><fieldset><legend>'.$donnees_left_menu['title'].'</legend>';
?>
<ul>
<?php
$left_linka = mysql_query("Select id, title, link FROM jos_left_link WHERE id_jos_left = ".$donnees_left_menu['id']." ORDER BY id ASC") or die (mysql_error());
//$left_linka = mysql_query("Select id, title, link FROM jos_left_link ORDER BY id ASC") or die (mysql_error());
while ($donnees_left_linka = mysql_fetch_array($left_linka))
{
$res = mysql_query("SELECT COUNT(*) FROM jos_left_link2 WHERE id_jos_left_link = '".$donnees_left_linka['id']."'");
//echo "$res<br>";
if(mysql_num_rows($res) == 0){
echo '<a href="#" onClick="showHide(this);return false">'.$donnees_left_linka['title'].'</a><br />';
}
else{
echo'<a href="'.$donnees_left_linka['link'].'">'.$donnees_left_linka['title'].'</a><br />';
}
}
?>
</ul>
<?php
echo '</fieldset></div><div class="left_footer_articles"></div><div class="right_footer_articles"></div><div class="center_footer_articles"></div><br>';
}
?>
</ul> |
Mais il me bloque le premier id de chaque table (blocs ou liens)
sinon j'avais essayer par celui la:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <ul>
<?php
while ($donnees_left_menu)
{
echo'<div class="left_header_articles"></div><div class="right_header_articles"></div><div class="center_header_articles"></div><div class="left"><fieldset><legend>'.$donnees_left_menu['title'].'</legend>';
while ($donnees_left_link = mysql_fetch_array($left_linka))
{
if(mysql_num_rows($res) > 0){
echo '<a href="#" onClick="showHide(this);return false">'.$donnees_left_linka['title'].'</a>';
}
else{
echo'<a href="'.$donnees_left_linka['link'].'">'.$donnees_left_linka['title'].'</a><br />';
}
}
}
?>
</ul> |
mais lui, il me met la même formulation de code pour tous les liens qu'ils est ou non des enfants.
Voila, si vous voulez des precision, n'hesitez pas et si vous voulez m'avoir de plus vive voix, je peux vous avoir sur msn ou bien skype.
Partager