Page 1 sur 1

problème de doublons avec images aléatoires

Posté : 26 nov. 2009, 14:55
par Totoffe
Bonjour,

Voici mon petit soucis, j'ai créé un code me permettant d'afficher des images aléatoires (51 exactement), le problème, c'est que j'ai des doublons, ce que je voudrai absolument éviter.

Voici mon code :
<?php
	session_start();
	if (isset($_GET['reset']))
	{
		$cpt = 1;
		echo '<script type="text/javascript">window.setTimeout("location=(\'index.php\');",0);</script>';
	}
	elseif (isset($_SESSION['cpt']))
		$cpt = $_SESSION['cpt'] + 1;
	else
		$cpt = 1;
		$_SESSION['cpt'] = $cpt;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="en">
	<head>
		<?php
			$num = 50;
			if ($cpt <= $num)
			echo '<script type="text/javascript">window.setTimeout("window.location.reload();",200);</script>';
		?>
	</head>
	<body>
		<?php		
			// CHOIX DE L'IMAGE ALÉATOIRE
				$root = "data/";
				$file = glob("$root/*.jpg", GLOB_BRACE);
				$fi = array_rand($file);
				echo utf8_encode("<a href=''><img src=\"$file[$fi]\" /></a>");
Comment faire pour que chaque image soit unique ?
J'ai pensé à écrire chaque nom dans un fichier txt lors de son affichage, puis à comparer l'image aléatoire avec la liste, mais c'est super lourd comme méthode, n'y a t il pas plus simple ? (Idem, si l'on peut remplacer le JS par du PHP pour les 51 affichages).

Merci

Re: problème de doublons avec images aléatoires

Posté : 26 nov. 2009, 15:14
par stopher
Salut ,

moi j'enlèverai la valeur choisi du tableau .


Donc :
$fi = array_rand($file);
unset($file[$fi[0]]);
Ainsi à la prochaine selection , cette image ne pourra plus être selectionnée .


Edit : Arf .. mal lue .. ce n'est pas une boucle ... mon exemple ne fonctionne donc pas pour ton cas ...

Ch.