Simplification de programmation

dracucharles Messages postés 58 Statut Membre -  
dracucharles Messages postés 58 Statut Membre -
Bonjour,
J'ai sur mon site des images qui sont chargées aléatoirement, c'est à dire qu'à chaque chargement de page, les images changent mais ne sont jamais les mêmes pour éviter d'avoir deux images identiques. J'ai donc un script php qui gère le fait de ne pas avoir de doublons. Ensuite mes images sont affichées dans un tableau.

voila mon code:
<?php
$nbimages=6; //nombre d'images au total

//chemin de mes images stocke dans un tableau
$nomimages[1]="images/labophy.jpg";
$nomimages[2]="images/3emeT4.jpg";
$nomimages[3]="images/secretariat.jpg";
$nomimages[4]="images/lavallee.jpg";
$nomimages[5]="images/ser_champ.jpg";
$nomimages[6]="images/batiment.jpg";

//génération de nombre aléatoire
$affimage1=rand(1,$nbimages);
$affimage2=rand(1,$nbimages);
$affimage3=rand(1,$nbimages);
$affimage4=rand(1,$nbimages);
$affimage5=rand(1,$nbimages);
$affimage6=rand(1,$nbimages);

//boucle de test pour ne pas avoir 2 images pareil
while(($affimage1==$affimage2) || ($affimage1==$affimage3) || ($affimage1==$affimage4) || ($affimage1==$affimage5) || ($affimage1==$affimage6) || ($affimage2==$affimage3) || ($affimage2==$affimage4) || ($affimage2==$affimage5) || ($affimage2==$affimage6) || ($affimage3==$affimage4) || ($affimage3==$affimage5) || ($affimage3==$affimage6) || ($affimage4==$affimage5) || ($affimage4==$affimage6) || ($affimage5==$affimage6)){
	$affimage2=rand(1,$nbimages);
	$affimage3=rand(1,$nbimages);
	$affimage4=rand(1,$nbimages);
	$affimage5=rand(1,$nbimages);
	$affimage6=rand(1,$nbimages);
}
?>

//affichage dans un tableau
<table class='transparent'>
	<tr><td class='transparent'><a href='index.php'><img src='./images/logo_2.gif' width='150'></a></td>
	<td class='transparent'><img src='<?php echo $nomimages[$affimage1];?>' width='150'></td>
	<td class='transparent'><img src='<?php echo $nomimages[$affimage2];?>' width='150'></td>
	<td class='transparent'><img src='<?php echo $nomimages[$affimage3];?>' width='150'></td>
	<td class='transparent'><img src='<?php echo $nomimages[$affimage4];?>' width='150'></td></tr>
</table>


Ma question est: Y-a t-il un moyen plus simple que ma boucle (en gras) pour tester si les images ne sont pas les mêmes ? Car si je veux ajouter d'autres images, les tests dans ma boucle seront encore plus lourd.
Je ne sais pas si j'ai été très clair.
Merci de votre aide
A voir également:

4 réponses

Jeren Messages postés 256 Statut Membre 45
 
0
dracucharles Messages postés 58 Statut Membre 6
 
En fait j'ai déjà mes images aléatoires, mais j'ai fais en sorte que pour les images 1, 2, 3 et 4 que j'affiche dans mon tableau, aucune d'entre elles ne soient identiques. Mais si j'ajoute des images dans ma "collection" il y aura encore plus de tests dans ma boucle. Donc je ne sais pas s'il y a un moyen plus simple pour tester si mes images ne sont pas identiques.
Merci de vos réponses
0
Jeren Messages postés 256 Statut Membre 45
 
J'ai parfaitement compris ton probleme!
En effet, mon premier lien ne répondait pas à ton probleme!
J'ai trouvé ce lien si non: http://www.lbb.org/script/Php/Images/Aleatoire/index.php
C'est un "annuaire de script", je pense qu'il y en a un qui pourra t'intéresser.

http://www.lbb.org/cgi-bin/script/detail.cgi?ID=6315

J'ai pas été voir le script par lui même, je me suis arreté à la description!
0
dracucharles Messages postés 58 Statut Membre 6
 
Merci, mais je ne cherche pas de script tout fait, j'aimerais juste savoir s'il y a un moyen plus simple que la boucle que j'ai déjà.
0