Mortimer: Datenbankausgabe zufällig durcheinander würfeln

Hi

Ich möchte aus meienr Datenbank alle Werte ausgeben lassen und diese Sortierbar machen nach Namen, Eintragsdatum oder Zufällig!

Die ersten beiden Sortierarten verstehen sich von selber in der Umsetzung. Aber wie kann ich Alle(!) Einträge aus der DB in einer zufälligen Rheienfolge wiedergeben...

mfg
mortimer

  1. Hi

    Die ersten beiden Sortierarten verstehen sich von selber in der Umsetzung. Aber wie kann ich Alle(!) Einträge aus der DB in einer zufälligen Rheienfolge wiedergeben...

    ...ORDER BY rand();
    Uli

    1. ...ORDER BY rand();
      Uli

      Ok.. Danke an euch beide.. häte ich vielleicht auch selber rausbekommen.. aber ich bin halt doch zu schusselig =/

      Aber andere frage:

      Wie bekommt ihr es hin manchmal andere Überschriften für eine Antwort zu benutzen oder (wie in diesem falle) dass du bei einer Antwort statt PHP dort DATENBANK hinschreiben konntest?

      ciao

      1. hi
        ohne namen abschicken und dann kann man das thema ändern...
        Uli

        1. Hallo Ulrich,

          ohne namen abschicken und dann kann man das thema ändern...

          oder einfach die Vorschau verwenden ...

          Grüße aus Nürnberg
          Tobias

          --
          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
          1. Danke! =)

            fehlt nur noch ein cookie dass ich nicht immer namen und email angeben muss =)

            ciao

            1. Huhu mortimer

              fehlt nur noch ein cookie dass ich nicht immer namen und email angeben muss =)

              Das und noch mehr kannst Du über die benutzerspezifischen Einstellungen
              erreichen.
              Diese findest Du links oben.

              Viele Grüße

              lulu

              --
              bythewaythewebsuxgoofflineandenjoytheday
    2. Ich stelle gerade fest dass ich es nicht hinbekomme die ausgabe mit Dandom() und Limit über mehrere Seiten zu verteilen.

      Ich habe knapp 120 Einträge bisher und es werden wöchentlich immer 100 mehr... daher muss ich es auf seiten auteilen...

      Gibt es einen Trick dass ich es trotzdem zufällig ausgeben kann aber alle Einträge über mehrere Seiten verteilt werden können?

      Meine Ideen:

      PRo Seite werden 30 Einträge gezeigt.
      Ich teile alle Ausgaben in 30er Blöcke (normale ausgabe ohne random) und schalte den zufallsgenerator nur unter den 30 Einträgen jeweils ein.
      Leider nicht serh befriedigend weil kein zufall über alle einträge möglich ist.

      Anders müsste es irgendwie gehen dass ich eine Art Unsichtbare Liste erstelle in die ich die Random-Sortierung schreibe... diesse dann in 30er Blöcke teile und Block für Block ausgebe.
      Doch da weiss ich nicht wie.

      Ich habe mal von eienr technik in PHP gehört mit der man solche "Unsichtbaren Listen" erstellen kann... weiss jemand mehr?

      ciao

      1. Hallo Mortimer,

        Ich stelle gerade fest dass ich es nicht hinbekomme die ausgabe mit Dandom() und Limit über mehrere Seiten zu verteilen.

        das geht afaik nicht, da RAND() bei jedem Query (also auf jeder Seite) einen anderen Wert gibt.

        Gibt es einen Trick dass ich es trotzdem zufällig ausgeben kann aber alle Einträge über mehrere Seiten verteilt werden können?

        afaik, nein, du wirst schon die Datensätze nach einer Spalte sortieren müssen - was imho auch wesentlich sinnvoller ist: wie soll man denn in einer Liste was finden, wenn die Datensätze nach keinem Kriterium sortiert sind?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. yo,

          das geht afaik nicht, da RAND() bei jedem Query (also auf jeder Seite) einen anderen Wert gibt.

          es sein denn, die funktion bildet den zufallswert anhand eines festen wertes, welcher der funktion als paramter beim aufruf übergeben werden kann. in diesem fall wäre es möglich, einen wert von der zeit abzuleiten und diesen einmal ermittelten wert von einem seitenaufbau zum anderen zu übergeben, so dass imer die gleiche ausfall der datensätze zustande kommen würde, aber zu unterschiedlichen zeiten ein anderes ergebnis zur folge hätte.

          Ilja

          1. Hallo Ilja,

            das geht afaik nicht, da RAND() bei jedem Query (also auf jeder Seite) einen anderen Wert gibt.
            es sein denn, die funktion bildet den zufallswert anhand eines festen wertes, welcher der funktion als paramter beim aufruf übergeben werden kann.

            stimmt, das könnte gehen - RAND() hat einen optionalen Parameter: http://dev.mysql.com/doc/mysql/de/Mathematical_functions.html#IDX1221

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Huhu Mortimer

    Aber wie kann ich Alle(!) Einträge aus der DB in einer zufälligen Rheienfolge wiedergeben...

    Ich vermute mal Du benutzt MySQL.
    Da kann man einfach

    ORDER  BY rand()

    benutzen.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday