Doppelte Bilderanzeige entfernen!

mein_name

Erfahrenes Mitglied
Mein Problem ist folgendes:

Geht man auf die Website http://www.ago-einrichtung.at sieht man im unteren Frame 5 Bilder, die aus einem bestimmten Ordner geladen werden! Jetzt kommt es aber vor, dass er oftmals das gleiche Bild lädt, da es ja per Zufall geschieht!

Wie kann ich dass am besten lösen, dass jedes Bild nur einmal geladen wird?

Hier der dazügehörige Code:
PHP:
<?php
$zahl=0;
$pfad = "images/startbilder";
$open=opendir($pfad);
 while($datei=readdir($open))
 {
  $narray[] = $datei;
 }
 $anzahl = count($narray);
while($zahl!=5){
 $zufall = rand(2,$anzahl-1);
  $path=$pfad."/".$narray[$zufall];
  echo "<a href=\"".$path."\" target=\"main\"><img src=\"".$path."\" height=\"30%\" width=\"13%\"></a>&nbsp;&nbsp;&nbsp;";
$zahl++;
}
echo "<br/><br/>";
?>

Vielen Dank schon mal im Voraus!
 
mhh mir fällt bis jetzt nur eine lösung ein:

les die bilder weiterhin so aus und pack das alles in ein array
du hast dann praktisch:
PHP:
<?
array[0] = bild1.jpg;
array[1] = bild2.jpg;
?>
dann packste das ganze in ne schleife die bis zu dem letzten bild hochzählt und bei n + 1 wieder bei 0 anfängt zu zählen!
 
Der einfachste Weg ist wohl sie einfach per unset() aus dem array zu entfernen wenn du sie schon einmal verwendet hast, array neu sortieren und eben nächster durchlauf.

PHP:
<?php
$zahl=0;
$pfad = "images/startbilder";
$open=opendir($pfad);
 while($datei=readdir($open))
 {
  $narray[] = $datei;
 }

while($zahl!=5){
 $zufall = rand(2, count($narray)-1);
  $path=$pfad."/".$narray[$zufall];
  echo "<a href=\"".$path."\" target=\"main\"><img src=\"".$path."\" height=\"30%\" width=\"13%\"></a>&nbsp;&nbsp;&nbsp;";
unset($narray[$zufall]);
sort($narray);
$zahl++;
}
echo "<br/><br/>";
?>
 
Vielen Dank - funktioniert wunderbar!

Auch vielen Dank für die superschnellen Antworten! Find ich toll!

ciao
 
Zurück