8791 sujets

Développement web côté serveur, CMS

Bonjour, je me tourne vers alsacréations pour vous soumettre une question...

Voilà,

j'ai 3 div nommées p1; p2; p3
p1 est visible, p2 et p3 sont invisibles,

j'ai aussi 3 miniatures qui sont sensées cacher la div p1 pour afficher la div p2 si on clique sur la miniature 2 et afficher la div p3 si on clique sur la miniature 3

dans p1 j'ai une image qui est affichée par défaut.

j'ai passé une variable en php comme ça :

<?php
$n = 1;
?>


je l'utilise pour nommer mes div comme ça

<div id="p<?php echo $n; ?>">


Alors la question est comment je peux faire pour lui dire que quand je clique sur la miniature 2, $n=2 et quand je clique sur la miniature 3, $n=3 (pour afficher ou masquer le contenu de la div)

j'espère avoir été clair, merci d'avance pour vos solutions.
Modifié par pareto (13 Jan 2010 - 17:55)
Salut,

il semble qu'il te manque quelques bases importantes. Smiley cligne

Le PHP est un langage serveur : il est donc exécuté avant l'affichage de la page.

Lorsque tu parles de "cliquer" sur un élément il s'agit d'un évènement côté client et il faut donc s'occuper de ça en utilisant un langage client : typiquement JavaScript.
salut, merci de te pencher sur mon probleme, j'ai pensé à créer une script de ce type
<script>
	function plus<?php echo $n; ?>()
	{
		document.getElementById("<?php echo $n;?>").value++;
	}
	</script>

et quand l'utilisateur clique sur la miniature, la valeur de la div s'incremente est affiche le contenu mais ça ne fonctionne pas...


ALORS

je pense avoir trouvé (sans javascript) je code les id des div avec une variable que je récupére de ma base de données <div id="p<?php echo ($name).'1' ?>" ; <div id="p<?php echo ($name).'2' ?>" et <div id="p<?php echo ($name).'3' ?>"

et je fais

onclick="MM_showHideLayers('p<?php echo ($big).'1' ?>','','show','p<?php echo ($big).'2' ?>','','hide','p<?php echo ($big).'3' ?>','','hide')"

Modifié par pareto (13 Jan 2010 - 17:02)
Hem... j'ai un peu l'impression de parler créole ! Smiley ravi

Donc je me répète : le PHP est exécuté une fois pour toutes avant l'affichage de la page donc ta fonction JavaScript va dépendre de la valeur de $n au moment de l'écriture. Par exemple :
<script type="text/javascript"> 
    function plus3() 
    { 
        document.getElementById("3").value++; 
    } 
</script>
Déjà il manque le p dans le getElementById mais ça ne peut pas marcher.

Je t'inviter à te pencher sur le langage JavaScript et si c'est déjà le cas ce genre de choses se fait très facilement avec jQuery (par exemple).
Modifié par Heyoan (13 Jan 2010 - 17:02)
YAKAZOUKE heyoan Smiley smile

j'ai trouvé la soluce et ça marche très bien, sans javascript que du php, peut-etre avais-je mal énoncé mon problème...

Toutefois merci de m'avoir consacré quelques instants.
Modifié par pareto (13 Jan 2010 - 17:54)
Arf ! Je ne connais que le créole réunionnais ! Smiley langue

pareto a écrit :
j'ai trouvé la soluce et ça marche très bien, sans javascript que du php, peut-etre avais-je mal énoncé mon problème...
Peut-être oui... ou alors tu as créé une fonction par DIV ce qui n'est pas l'idéal en terme de factorisation...

Quoi qu'il en soit, si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. Smiley cligne