[php] variable + (ou -) 1 à chaque clic

Fermé
dachu - 3 mai 2004 à 00:48
 www.edetmoi.com - 3 mai 2004 à 10:13
Bonjour,

J'ai une page avec plusieurs frames dont une qui affiche des photos qu'on fait défiler via deux boutons "<<" et ">>" qui, eux, ne se trouve pas ds une frame mais bien sur la page principale. Quand on clique sur un de ces deux boutons, la frame où se trouve la photo est rechargée pour afficher la photo suivante (ou précédente). Par contre la page principale n'est pas rechargée ! Or, les boutons renvoient vers une adresse du type "mapage.php4?photo=3", le 3 dépendant du bouton sur lequel on a cliqué. La variable photo doit donc etre modifiée lorsque j'appuie sur un des boutons sinon on afficherait toujours la meme photo (si c'est "<<", alors la variable doit devenir 2 si la photo en cours est la 4e ; si c'est ">>", elle doit devenir 6).
Donc ma question est : comment faire pour changer la valeur de cette variable sans pour autant que la page principale où se situent les boutons ne soit rechargée ?
Ou alors, disons que j'emploie une frame pour les boutons, qui se recharge à chaque clic ; comment faire pour ordonner le changement du contenu d'une frame a partir d'une autre frame ("target" n'allant pas vu que cette commande ne fonctionne que sur la page principale qui crée les frames) ?

J'espere que vous comprennez ce que je veux dire car ce n'est pas très évident à expliquer...

Merci pour vos futures réponses !

Bien à vous,
dachu
A voir également:

1 réponse

www.edetmoi.com
3 mai 2004 à 10:13
Salut,

C'est très simple.
E fait, chaque bouton envoie non pas une valeur numérique mais une valeur texte.
<< = mapage.php4?affiche=moins
>> = mapage.php4?affiche=plus

Dans ta page mapage.php4 tu places ce code au tout début :

if ($affiche==moins) { $photo--; }
if ($affiche==plus) { $photo++; }

reste simplement à veiller à ce que la valeur de $photo soit aussi passée.
Idéalement, tu devrais la définir en variable de session, ainsi tu ne risque pas de la perdre.

session_register ( 'photo')

Ensuite tu initialises, la première fois la variable à 1
$_SESSION['photo']= 1;

et après tu incrémente ou décrémente comme je te l'ai indiqué au départ.
if ($affiche==moins) { $_SESSION['photo']--; }
if ($affiche==plus) { $_SESSION['photo']++; }

Voilà.

A paufiner surement un peu.
Mais d'un avis + global, tu devrais laisser tomber tes frames, quittes à faire des include en php.

Pour le changement d'image, tu peux faire cela avec un simple javascript et un getElementById.src=...

Ed.
0