kann server rand problem machen?

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

  • kann server rand problem machen?

    hi, ein user hat 3 Banner. Alle aktiviert.

    mit diesem Code wird ein Banner ausgewählt:
    $select_banner = mysql_query("SELECT * FROM ".$tab."banner where aktiviert='ja' ORDER BY RAND() LIMIT 1");


    nun das problem: auf seinem Server wird immer nur der Banner genommen, der an erster stelle mit aktiviert steht.
    Ist das ein PRob des Servers oder ein prob des Scripts??
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

  • #2
    Das Problem ist mittlerweile desöfteren Beschrieben worden ... allerdings gibt's, meines Wissens, bis dato noch keinen Fix oder zumindest eine Bestätigung durch MySQL AB ...

    Du kannst allerdings bei RAND() eine Seed als Parameter übergeben ... das sollte etwas bessere Ergebnisse ergeben ...
    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


    • #3
      danke... was heißt Seed??
      Wie soll ich das machen??

      PS: goth, du bekommst von mir eine PN, wegen job
      Sunshine CMS
      BannerAdManagement
      Borlabs - because we make IT easier
      Formulargenerator [color=red]Neu![/color]
      Herkunftsstatistik [color=red]Neu![/color]

      Kommentar


      • #4
        öh hallo, wie mach ich das mit dem Seed??


        PS: @goth, mail erhalten ?
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          http://www.mysql.com/doc/en/Mathematical_functions.html
          -> unter rand nachsehen
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            RAND()
            RAND(N)
            Returns a random floating-point value in the range 0 to 1.0. If an integer argument N is specified, it is used as the seed value:
            mysql> SELECT RAND();
            -> 0.9233482386203
            mysql> SELECT RAND(20);
            -> 0.15888261251047
            mysql> SELECT RAND(20);
            -> 0.15888261251047
            mysql> SELECT RAND();
            -> 0.63553050033332
            mysql> SELECT RAND();
            -> 0.70100469486881

            You can't use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times. In MySQL Version 3.23, you can, however, do: SELECT * FROM table_name ORDER BY RAND() This is useful to get a random sample of a set SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000. Note that a RAND() in a WHERE clause will be re-evaluated every time the WHERE is executed. RAND() is not meant to be a perfect random generator, but instead a fast way to generate ad hoc random numbers that will be portable between platforms for the same MySQL version.
            das da???
            das ist doch nichts mit nem "Seed" oder? So stehts in meinem Code doch auch drin. Oder nicht?
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              If an integer argument N is specified, it is used as the seed value
              bedeutet wohl so viel wie startwert, mit dem der berechnung der zufallszahl startet.

              üblicherweise setzt man hier z.b. die aktuelle systemzeit in millisekunden ein, weil damit ein immer anderer startwert vorliegt, und somit die zufallzahlen besser im sinne von 'zufälliger verteilt' werden.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                kruz gesagt ich muss in das RAND() den wert on num rows select rein tun. also RAND($numrow) , richtig?
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar

                Lädt...
                X