Immer die gleiche "Zufallszahl"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Immer die gleiche "Zufallszahl"

    Hallo...

    ich habe folgenden Code

    PHP-Code:
    <?
    include ('../config.php');

    $query = mysql_query("SELECT * FROM $banner ORDER BY rand() LIMIT 1");
    $arraygib = mysql_fetch_array($query);
    $rand = $arraygib['id'];

    echo $rand

    ?>
    Jetzt zu meinem Problem:

    Das Script findet zwar die Tabelle (Es befinden sich 4 Datensätze darin), doch wird immer nur der erste Datensatz angezeigt bzw. ausgewählt.

    Was mache ich den falsch ?
    Mfg,

    Schoppy

  • #2
    also ich seh da jetzt kein fehler oder so... hmm
    meine Projekte bestaunen: http://www.kleiza.de

    Kommentar


    • #3
      du hast das while vergessen

      PHP-Code:
      <?
      include ('../config.php');

      $query = mysql_query("SELECT * FROM $banner ORDER BY rand() LIMIT 1");
      while($arraygib = mysql_fetch_array($query)){
      $rand = $arraygib['id'];

      echo $rand
      }

      ?>
      aber ich glaub das ist kein fehler , das ist eher einsparung der tipparbeit

      Kommentar


      • #4
        Ich hatte das Problem auch mal bei Tabellen mit sehr wenigen Datensätzen ... und 'ner älteren MySQL Version ...

        Schon mal mit der Seed Probiert??

        $query = mysql_query("SELECT * FROM $banner ORDER BY rand(".time().") LIMIT 1");
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Muß die rand() Funktion nicht grundsätzlich mit einem Wert initialisiert werden? Z.B. so wie bei goth mit dem timestamp?
          Of all things I've lost
          I miss my mind the most

          Kommentar


          • #6
            Hallo...

            @CannabisCow

            Mit dieser Methode funktioniert es leider auch nicht. Auch dabei wird ständig nur der erste Datensatz angezeigt


            @goth

            Mit dieser Methode wird zwar etwas anderes, doch diesmal ständig nur der dritte Datensatz angezeigt


            Ich weiß echt nicht mehr weiter. Kann das an meinen Provider liegen ? (Domainfactory) Kennt jemand eine andere Möglichkeit ohne RAND() einen zufälligen Datensatz zu wählen ?
            Mfg,

            Schoppy

            Kommentar


            • #7
              Oh, ich hab dich falsch verstanden, ich hab gemeint, du willst alle datensätze haben und hab auch das limit 1 übersehen.

              Aber probier es einfachmal, mach das limit 1 weg, mal zum testen halt.

              Kommentar


              • #8
                also hängt wohl wahrscheinlich mit der mysql.version zusammen..

                ich weiss nicht mehr genau wie es bei den alten ging,
                versuch das mal irgendwie so:
                select *,rand() as zufall from tabelle order by zufall limit 1
                meine Projekte bestaunen: http://www.kleiza.de

                Kommentar


                • #9
                  Ja es scheint wirklich an der MySQL Version zu liegen, denn im Forum meines Providers sind viele Kunden mit dem gleichen Problem !!

                  Naja, dann nutze ich jetzt eben die PHP-Rand()-Funktion...danke trotzdem
                  Mfg,

                  Schoppy

                  Kommentar

                  Lädt...
                  X