Affichage aleatoire d'une image

Eléphant du PHP | 227 Messages

23 juil. 2008, 11:01

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.

Mammouth du PHP | 1353 Messages

23 juil. 2008, 11:29

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...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 227 Messages

23 juil. 2008, 11:40

Merci de ton aide guilt92, effectivement cela correspond bien à mon attente.

A bientot
Gesualda

ViPHP
ViPHP | 5924 Messages

23 juil. 2008, 12:44

Prends l'habitude de mettre les clés de tes tableaux entre quotes : '