Bei Zufalls Ausgabe jeweils nur einmal
Bei Zufalls Ausgabe jeweils nur einmal
Hallo wir machen bei uns auf der Webseite ein Zufalls Bild aus der DB laden nun habe ich das in eine for schleife gemacht und auf 200 mal gesetzt.
da würde er 200 zufallsbilder ausgeben nun kommt es vor das 2 bis 10 mal hintereinander das selbe bild ist.
ich schreibe die bilder dann in ein javascript array was kann ich machen damit die bilder nicht hintereinader mehrmals vorkommen am besten sollte es sein das jedes bild am ende nur einmal im array ist.
der code
Die Set sieht so am ende aus und muss auch so aussehen
Hallo wir machen bei uns auf der Webseite ein Zufalls Bild aus der DB laden nun habe ich das in eine for schleife gemacht und auf 200 mal gesetzt.
da würde er 200 zufallsbilder ausgeben nun kommt es vor das 2 bis 10 mal hintereinander das selbe bild ist.
ich schreibe die bilder dann in ein javascript array was kann ich machen damit die bilder nicht hintereinader mehrmals vorkommen am besten sollte es sein das jedes bild am ende nur einmal im array ist.
der code
<script language="JavaScript" type="text/javascript">
var akturl= document.getElementById('hslb').href;
image_url = akturl;
setTimeout("img_autoreload('imgbild')", 5000);
var image;
<%
for(my $i = 1; $i <= 199; $i++) {
require "../plugins/bild_startseite/plugin.pl";
my $imgtempl="##IMAGE1##";
my ($imghtml, $imgid)=&zufallsbild($dbh, $cgi, 95, $imgtempl);
print "image_url[$i] =\"$imghtml\";\n";
print "image_set[$i] ={'caption': 'Startbilder', 'url':'$imghtml'};\n";
}
Die Set sieht so am ende aus und muss auch so aussehen
image_set[16] ={'caption': 'Startbilder', 'url':'/images/BildXYZ.jpg'};
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 138568
Url: https://administrator.de/contentid/138568
Ausgedruckt am: 27.11.2024 um 22:11 Uhr
3 Kommentare
Neuester Kommentar
Das versteh ich nu nicht ganz...für ein Zufallsbild dieser Aufwand? Naja, vielleicht verwirren mich auch nur die fehlenden Satzzeichen..
Mit shuffle() aus list::Util (ab Perl 5.8) hast Du genau die Funktion. Also ich würde mit Perl an Javascript ein zufällig zusammengestelltes Array übergeben, welches dann von Javascript durchlaufen wird.
Verwendest Du eine ältere Perl-Version müsstest Du dir den Algorithmus selber schreiben, ist aber auch kein Hexenwerk, denke aber, dass man da bei Google auch schon vorgefertigte Scripten findet.
Jedenfalls in JS nur ein Array und dieses mit einer for-Schleife und Verzögerung auslesen und die entsprechende Grafik setzen.
vg
Bytecounter
Mit shuffle() aus list::Util (ab Perl 5.8) hast Du genau die Funktion. Also ich würde mit Perl an Javascript ein zufällig zusammengestelltes Array übergeben, welches dann von Javascript durchlaufen wird.
Verwendest Du eine ältere Perl-Version müsstest Du dir den Algorithmus selber schreiben, ist aber auch kein Hexenwerk, denke aber, dass man da bei Google auch schon vorgefertigte Scripten findet.
Jedenfalls in JS nur ein Array und dieses mit einer for-Schleife und Verzögerung auslesen und die entsprechende Grafik setzen.
vg
Bytecounter
Hallo,
mir sieht das alles sehr spanisch aus. Daher zur zwei allgemeine Hinweise:
1. Wenn man von einem Zufallsgenerator mehrmals am Stück den gleichen Wert ausgespuckt bekommt liegt das meist an einer falschen Initialisierung. Jeder Zufallszahlenalgorithmus ist eine mathematische Funktion und als solche deterministisch. Die Funktion benötigt einen Input-Wert und errechnet zu diesem eine Ausgabe - bei gleichem Input _immer_ den gleichen Output. Als Input-Wert wird oft Datum + Uhrzeit verwendet. Das wiederholt sich seeeehr selten. Folglich ist der Input immer unterschiedlich, folglich der Output auch. Außer natürlich, man ruft die Funktion mehrmals in der gleichen Millisekunde (oder was auch immer die Einheit ist). Schaue mal in der Referenz zu der von dir verwendeten Zufallsfunktion.
2. Das require wird bei jedem Schleifendurchlauf aufgerufen. Kann es sein, dass das Unsinn ist, und du es besser vor die Schleife packen solltest?
Gruß
Filipp
mir sieht das alles sehr spanisch aus. Daher zur zwei allgemeine Hinweise:
1. Wenn man von einem Zufallsgenerator mehrmals am Stück den gleichen Wert ausgespuckt bekommt liegt das meist an einer falschen Initialisierung. Jeder Zufallszahlenalgorithmus ist eine mathematische Funktion und als solche deterministisch. Die Funktion benötigt einen Input-Wert und errechnet zu diesem eine Ausgabe - bei gleichem Input _immer_ den gleichen Output. Als Input-Wert wird oft Datum + Uhrzeit verwendet. Das wiederholt sich seeeehr selten. Folglich ist der Input immer unterschiedlich, folglich der Output auch. Außer natürlich, man ruft die Funktion mehrmals in der gleichen Millisekunde (oder was auch immer die Einheit ist). Schaue mal in der Referenz zu der von dir verwendeten Zufallsfunktion.
2. Das require wird bei jedem Schleifendurchlauf aufgerufen. Kann es sein, dass das Unsinn ist, und du es besser vor die Schleife packen solltest?
Gruß
Filipp