Bonjour,
Je récupère d'une bdd
X rubriques-> x sous-rubriques -> x pdfs.

Je souhaiterai à l'affichage de ma page que l'on voit juste les rubriques et les sous-rubriques.
Les sous-rubriques possèderaient un lien qui permettraient de visualiser les pdfs.

Après recherche, j'ai vu que le javascript gérait très bien cela.
Mais différents problèmes se posent :
  • Au départ, je ne connais pas le nbre exact de sous-rubriques à afficher, il m'est donc difficile de mettre un id="1", id="2",....
  • Comment faire pour connaitre le nbre total d'id à afficher pour le javascript ?


J'ai commencé comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
//Le nbre de rubriques
$query = "SELECT count(sousRub) AS sousRubCount
	FROM ss_rubrique
	WHERE RubriqueID='$RubriqueID'";
$rs = mysql_query($query) OR die("Le nbre de sous-rubriques n'a pas pu être évalué");
$sousRubCount = mysql_result($rs,0,"sousRubCount");
Le script que j'ai trouvé de M. Réaux qui me parait intéressant lorsque l'on a plusieurs "cachés" sur la même page
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
function toggle_visibility(id) {
	var e = document.getElementById(id);
	var idtotal = <?php echo ($sousRubCount); ?>; // nombre total de div (id = 1, 2, .... idtotal)
	for (i=1; i<=idtotal; i++)
	{
		if(id==i){ // id concerné
			if(e.style.display == 'block')
				e.style.display = 'none';
			else
				e.style.display = 'block';
		} else { // autres id
			document.getElementById(i).style.display = 'none';
		}
	}
}
mon <li> qui me permet de récupérer les sous rubriques de la bdd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo '<li><a href="#" onclick="toggle_visibility("1");" >'.$sousRub.'</a>';
Puis mon <li> qui me permet de récupérer mes pdfs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo '<li style="display:none;" id="1"><a href="pdf/">'.$pdf.'</a></li>';
Auriez-vous une piste à me donner qui me permettrait d'avancer ?
Merci.