Page 1 sur 1

Affichage aleatoire d'une image

Posté : 23 juil. 2008, 11:01
par gesualda
Bonjour à tous

J'aimerai afficher une image aléatoire 'thumb' dans un lien, et à son survol permettrait de faire afficher l'image grandeur nature.
Le seul soucis, c'est comment m'y prendre pour que l'image corresponde aux 'thumb'.
En terme de CSS pas de soucis, mais c'est le reste qui craint. Voici ce que j'ai fais:
$imagesaleatoire = array(   './imgtest/reduction/img_1.jpg' => './imgtest/image-rue/img_1-640.jpg',
							'./imgtest/reduction/img_2.jpg' => './imgtest/image-rue/img_2-640.jpg',
							'./imgtest/reduction/img_3.jpg' => './imgtest/image-rue/img_3-640.jpg',
							'./imgtest/reduction/img_4.jpg' => './imgtest/image-rue/img_4-640.jpg',
							'./imgtest/reduction/img_5.jpg' => './imgtest/image-rue/img_5-640.jpg');
														
foreach( $imagesaleatoire as $reduct => $imggrd )		
		{
			srand((double)microtime()*1000000);
			$_SESSION[reduct] = $reduct;
			$_SESSION[imggrd] = $imggrd;	
		}
L'appel de l'image se fait ainsi:

Code : Tout sélectionner

<div class="cadre-img"> <a class="infoPhotos_rue" href="#"><img src="<?php echo $_SESSION[reduct] ?>" alt="" /><span><span></span><img src="<?php echo $_SESSION[imggrd] ?>" /></span></a> </div>
Merci de votre aide.

Posté : 23 juil. 2008, 11:29
par guilt92
Bonjour,

Dans ton code actuel tu fais un foreach et tu affectes la valeur de session à chaque tour => la valeur de session sera au final toujours le numéro 5, la fonction de rand ne sert à rien...

L'idée est la suivante :

Créer ton tableau.
Générer un nombre aléatoire entre 1 et 5 (ou entre 1 et la taille de ton tableau) (fonction rand(1,5);
Créer une clef pour ton tableau à partir de ce nombre
$_SESSION[reduct] = './imgtest/reduction/img_'.rand(1,5).'.jpg';
Récupérer la valeur associée dans ton tableau à cette clef
$_SESSION[imggrd] = $imagesaleatoire[$_SESSION[reduct]];
Cela aura pour effet de prendre une valeur au hasard dans ton tableau...

Posté : 23 juil. 2008, 11:40
par gesualda
Merci de ton aide guilt92, effectivement cela correspond bien à mon attente.

A bientot
Gesualda

Posté : 23 juil. 2008, 12:44
par Sékiltoyai
Prends l'habitude de mettre les clés de tes tableaux entre quotes : '