8791 sujets

Développement web côté serveur, CMS

Bonjour
J'ai un listing de titres de chanson et quand on clique sur un titre je voudrais que les paroles s'affichent. Ce listing s'affiche de facon dynamique, d'apres ma BDD
j'ai une fonction javascript pour afficher ou non mon div avec les paroles mais je n'arrive pasà lier les 2 (affichages des paroles et javascript) Est ce possible?
Merci
Nadège

<script type="text/javascript">
function Hide (addr) { document.getElementById(addr).style.visibility = "hidden";	}
function Show (addr) { document.getElementById(addr).style.visibility = "visible";	}

function toggle(anId)
{
	if (document.getElementById(anId).style.visibility == "hidden")	{	Show(anId);	}
	else															{	Hide(anId);	}
}

window.onload = function () { Hide("foo");	};
</script>







echo '<strong>Choisissez votre chanson</strong><br/>';
// on lis toute la playlist dont l'id_categorie est 1 
                $tab_playlist = lire_playlist();
                $nb_playlist = count($tab_playlist);
                for($i=0; $i<$nb_playlist; $i++){
	echo '<a href="paroles.php?id='.$tab_playlist[$i]["id"].'" target="_blank">'.stripcslashes($tab_playlist[$i]["titre"]).'</a><br/>';


	<a href="#" onclick = "toggle('foo');"><?php echo stripcslashes($tab_playlist[$i]["titre"]);} ?></a><br/>
	<div id="foo">le contenu des paroles avec id=??</div>


Bonjour,

Si tu veux du dynamique (les paroles changent uniquement dans ton 'div' lors d'un 'click'), il faut passer par de l'ajax.

Si tu fait ça :

<a href="#" onclick = "toggle('foo');"><?php echo stripcslashes($tab_playlist[$i]["titre"]);} ?></a><br/>
	<div id="foo">le contenu des paroles avec id=??</div>


c'est que tu recharge ta page principale.

Le 2ème bloque de code est dans un fichier séparé ?
oui effectivement ca recharge la page
et l'ajax je maitrise pas
bon je vais voir quand meme ce que je trouve sur le net

quel 2eme bloc de code?
tout est sur la meme page !
salut,

Pour l'ajax je te conseille de passer par la libraire jQuery, ça ne sera que plus simple à mettre en place. De plus, plein de chose sympa et très facile à mettre en place sont déjà présent dedans tel que la fonction hide ou show, ou des effets d'animations ...