Kann mir jemand diesen php3-Code in Javascript umwandeln (5 Zeilen)?
Alexander Metz
- javascript
Hallo Forumer,
Ich habe hier ein ziemlich einfaches php3-Script, welches per Zufall unter 2 Dateien eine auswählt und sie anzeigt. Könnte mir das jemand von euch in JavaScript umwandeln? Ich verstehe viel von php, aber nichts von JS :(
$items = 2;
$randnum = rand(1,$items);
$inc[1] = "/home/.../ads.txt";
$inc[2] = "/home/.../banners.txt";
include $inc[$randnum];
Vielen Dank im voraus!
Hallo,
$items = 2;
$randnum = rand(1,$items);
Einen Zufallsgenerator für eine Zahl zwischen 1 und 2? *g*
Naja, Also wenn du x folgendes zuweist:
// x= Math.random();
Dann ist x ein Zahl zwischen 0.0 und 1.0 => Das musst du dann aber noch irgendwie umformen, dass es in dein Intervall kommt :-(
Hinweis: mit Math.round(x) kannst du auf die _nächste_ Integer am nähesten bei x "runden".
Ein anderer Weg ist mir leider nicht bekannt, ausser du hast irgendwo einen Algorithmus griffbereit ;-)
$inc[1] = "/home/.../ads.txt";
$inc[2] = "/home/.../banners.txt";
include $inc[$randnum];
Externe Dateien und JavaScript? Das ist echt nicht empfehlenswert. Nun ich kenn mich in PHP überhaupt nicht aus (noch -wills aber bald lernen - JavaScript ist auch nicht gerade meine grosse Liebe), daher weiss ich nicht was include macht, aber wenn einfach eine der Dateien im Browserfenster angezeigt werden soll geht das mit location.href="file.html". Wenn du die Daten aber mitten in eine Seite einpflanzen willst, dann bist du wahrscheinlich besser mit PHP oder Perl dran, wenns nur irgend geht :-)
Grüsse
Bernhard
Hi
$items = 2;
$randnum = rand(1,$items);Einen Zufallsgenerator für eine Zahl zwischen 1 und 2? *g*
Naja, Also wenn du x folgendes zuweist:
»»
// x= Math.random();
Dann ist x ein Zahl zwischen 0.0 und 1.0 => Das musst du dann aber noch irgendwie umformen, dass es in dein Intervall kommt :-(
Ja, dass ist wieder mal eine ganz einfache Aufgabe, wo die Loesung so leicht ist, dass man sie uebersieht ;-))
Was mach ich nur, wenn ich eine Zahlx zwischen 1 und 2 brauche, aber eine Zahly zwischen 0 und 1 habe?? ganz einfach: (Zahly+1) !!!
Aber zu deinem Problem:
<script language="JavaScript">
<!--
datei=new Array();
datei[1]="/home/.../ads.txt";
datei[2]="/home/.../banners.txt";
x=Math.random();
x=x+1;
x=Math.round(x);
location.href=datei[x];
//-->
</script>
Dann wird die Datei im Browser dargestellt. Falls du sie in einem Frame oder sonstwo darstellen willst, melde dich noch mal
Tschau Holger
Hi
$items = 2;
$randnum = rand(1,$items);Einen Zufallsgenerator für eine Zahl zwischen 1 und 2? *g*
Naja, Also wenn du x folgendes zuweist:
»»
// x= Math.random();Dann ist x ein Zahl zwischen 0.0 und 1.0 => Das musst du dann
aber noch irgendwie umformen, dass es in dein Intervall
kommt :-(
Ja, dass ist wieder mal eine ganz einfache Aufgabe, wo die
Loesung so leicht ist, dass man sie uebersieht ;-))
Was mach ich nur, wenn ich eine Zahlx zwischen 1 und 2 brauche,
aber eine Zahly zwischen 0 und 1 habe?? ganz einfach: (Zahly+1) !!!
Das gilt aber nur für das Intervall [1,2] Was aber wenn $items=53; ?
Da müsste man erst mit 53 multiplizieren, oder täusch ich mich da
(wiedermal ;-))
Grüsse
Bernhard
Hi Bernhard
Ganz allgemein:
Wenn du aus einem Array mit z Werten einen zufaellig auswaehlen willst, dann geht das folgendermassen:
test=new Array();
x=Math.random();
x=(z-1)*x;
x=Math.round(x);
alert(test[x]);
Wenn du eine ganze! Zufallszahl zwischen Zahl1 (die kleinere Zahl) und Zahl2 suchst, dann geht das so:
x=Math.random();
x=1*Zahl1+(Zahl2-Zahl1)*x;
x=Math.round(x);
Tschau Holger
Hi Holger
Wenn du aus einem Array mit z Werten einen zufaellig auswaehlen
willst, dann geht das folgendermassen:
test=new Array();
x=Math.random();
x=(z-1)*x;
x=Math.round(x);
Wenn du eine ganze! Zufallszahl zwischen Zahl1 (die kleinere
Zahl) und Zahl2 suchst, dann geht das so:
x=Math.random();
x=1*Zahl1+(Zahl2-Zahl1)*x;
x=Math.round(x);
Tja, da bin ich schon wieder eing'fahrn :(
Ich trau mich bei dir ja bald gar nix mehr sagen ;-) < 101395.html>
Aber vielleicht kommt irgendwann mal der Thread, wo du schreibst:
Bernhard hat ganz recht, das funktioniert nicht! ;-)
Oder ist vielleicht doch mehr möglich als ich bisher geglaubt habe ?
Werde mich in Zukunft auf jeden Fall ein wenig mit zurückhalten mit
voreilig abgegebenen Antworten.
Schöne Grüsse
Bernhard
Hallo und Danke für die zahlreichen Antworten/Vorschläge!
Allerdings sind es nicht immer nur 2 Optionen, sondern beliebig viele, ich bitte das zu berücksichtigen :)