einfacher besuchertuasch

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

  • einfacher besuchertuasch

    hallo,

    versuche gerade einen einfach besuchertausch zu schreiben.
    Das mit den punkten/views etc.. habe ich einigermassen hinbekommen, das problem ist folgendes:

    wie kann es ich machen, das er die webseiten nacheinander anzeigt ?
    Also wenn user1 sich webseite1 und webseite2 angeschaut hat, dann soll unser2 webseite3,4 und 5 sehen dann kommt user3 und soll webseite 6 sehen und dann kommt user3 und der soll wieder webseite1 sehen.

    Wie kriegt man da so eine schleife/Array rein ?

    ciao
    stormsam

  • #2
    mit der DB machst du den zufall rein ....

    ORDER BY RAND()
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hi!

      danke für den tipp, nur leider zeigt er mir so nur immer den ersten Datensatz der Datenbank an.

      Habe ein wenig über google geforsch, anscheinend haben viele das Problem.

      Sie versuchten das irgendwie mit weiteren zufallsgeneratoren, kombiniert mit limit und time() oder so zu lösen , doch das problem an sich haben sie nich gelöst.

      Wie würdet ihr das jetzt machen? Wenn folgendes immer nur den ersten datensatz anzeigt:

      PHP-Code:
      $sql="SELECT UserName 
          FROM user 
            ORDER BY RAND()"
      ;
        
      $result mysql_query($sql) OR die(mysql_error());    
       while(
      $row mysql_fetch_assoc($result)) {   
      echo 
      $row['UserName'];

      Kommentar


      • #4
        Gibt eine Zufallszahl (Fließkommawert) im Bereich von 0 bis 1.0 zurück. Wenn ein Ganzzahl-Argument N angegeben wird, wird es als Ausgangswert benutzt:

        mysql> select RAND();
        -> 0.5925
        mysql> select RAND(20);
        -> 0.1811
        mysql> select RAND(20);
        -> 0.1811
        mysql> select RAND();
        -> 0.2079
        mysql> select RAND();
        -> 0.7888
        Sie können eine Spalte mit RAND()-Werten nicht in einer ORDER BY-Klausel verwenden, weil ORDER BY die Spalte mehrfach auswerten würde. In MySQL-Version 3.23 können Sie jedoch folgendes tun: SELECT * FROM tabelle ORDER BY RAND() Das ist nützlich, um eine Zufallsstichprobe aus SELECT * FROM tabelle1,tabelle2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000 zu erhalten. Beachten Sie, dass ein RAND() in einer WHERE-Klausel jedes Mal von Neuem ausgewertet wird, wenn WHERE ausgeführt wird.
        http://www.mysql.de/doc/de/Mathematical_functions.html
        mfg

        Kommentar

        Lädt...
        X