rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Simplification de programmation

Posté par dracucharles, le mardi 13 mai 2008 à 09:56:22
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
Configuration: Windows XP
Firefox 2.0.0.14
Répondre à dracucharles  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Jeren, le mardi 13 mai 2008 à 10:13:11
Répondre à Jeren

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dracucharles, le mardi 13 mai 2008 à 10:24:40
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
Répondre à dracucharles

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Jeren, le mardi 13 mai 2008 à 10:33: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!
Répondre à Jeren

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 dracucharles, le mardi 13 mai 2008 à 10:45:56
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à.
Répondre à dracucharles
Logiciels pertinents trouvés dans les téléchargements
Télécharger progeCAD 2008 2008 SmartprogeCAD 2008 - Vous recherchez une solution gratuite afin de vous familiariser avec le domaine du CAD ? Ce logiciel est fait pour vous....Catégorie: 3D
Licence: Freeware/gratuit
Télécharger uTorrent 1.7.7uTorrent - µTorrent est un client BitTorrent , c'est-à-dire un logiciel de téléchargement Peer-To-Peer (P2P) capable de gérer les...Catégorie: Téléchargement
Licence: Freeware/gratuit
Télécharger Windows XP SP2 1.0Windows XP SP2 - Les Service Packs constituent un moyen pratique, tout en un, d'accéder aux derniers pilotes, outils et améliorations en...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Télécharger Word Viewer 2003Word Viewer - La visionneuse Word Viewer vous permet d'ouvrir des documents Word 2003 et des documents créés avec toutes les versions...Catégorie: Traitement de texte
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Simplification de programmation »