Alexander Metz: Kann mir jemand diesen php3-Code in Javascript umwandeln (5 Zeilen)?

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!

  1. 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

    1. 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

      1. 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

        1. 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

          1. 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

            1. 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 :)