Zufällige Datensätze aus einer DB

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

  • Zufällige Datensätze aus einer DB

    Ich habe ein Problem das ich einfach nicht gelöst bekomme... wie kann ich es erreichen, wenn ich beispielsweise in einer DB-Tabelle 20 Datensätze habe, das zufällig 10 ausgewählt werden, also bei jedem neuen Abruf der Daten wieder 10 andere per Zufall ermittelt werden ?

  • #2
    select * form tabelle order by rand() limit 10
    meine Projekte bestaunen: http://www.kleiza.de

    Kommentar


    • #3
      Original geschrieben von Campus
      select * form tabelle order by rand() limit 10
      Wow so einfach isses ^^ , hätt ich nicht gedacht

      Ok vielen dank

      Kommentar


      • #4
        Jetzt irds etwas schwieriger...
        Ich möchte nun das dise zufälligkeiten unterschedlich sind.

        Beispiel:
        Ich hab 3 Datensätze von denen jeweils einer durch rand´() ausgewählt werden soll, allerdings soll Datensatz 1 mit einer Warscheinlichkeit von 50%, 2 von 30% und der dritte mit 20% auggewählt werden..

        Ist das auch irgendwie möglich ?

        Kommentar


        • #5
          nicht leichter als das...
          also erweitere deine tabelle um eine spalte, die zb wahrscheinlichkeit heiss, und füg dort zahlen ein, je höher die zahl um so höher die wahrscheinlichkeit, das es an erster stelle steht..

          select *, rand()*wahrscheinlichkeit as zufall from tabelle order by zufall desc

          nun, sagen wir mal, 5 datensätze, eins wahrscheinlichkeit:3, anderes wahrscheinlichkeit:2 und restliche haben wahrscheinlichkeit 1, jetzt kommt der mit 3 immer zeimlich weit vorne, 2 weniger, und 1 ziemlich selten vorne, meist unten...

          viel spass
          meine Projekte bestaunen: http://www.kleiza.de

          Kommentar


          • #6
            Hehe cool ^^
            dann bedank ich mich zum 2ten mal , DANKE

            hat sich gelohnt hier zu registrieren.. man bekommt immer ne schnelle Antwort ^^

            Kommentar


            • #7
              Ok nächste Frage:

              Ich habe in einem Datensatz z.B 20 Zahlen die durch Komma getrennt sind:

              1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

              die zahlen dienen als ID für bestimmte Dinge. Ich möchte nun mittels einer Schleife erreichen das jede zahl als eigene Variable gilt.

              also die kommas weg und jede zahl soll in einer for schleife benutzt werden können.

              am liebsten in einer tabelle:

              <table>
              <tr><td>1</td></tr>
              <tr><td>2</td></tr>
              usw...
              </table>

              Kommentar


              • #8
                nichts noch leichter als das.
                PHP-Code:
                $feld="1,2,3,4,5,6,7,8,9";

                $teile=explode(",",$feld);
                echo 
                "<table>";

                for(
                $i=0;$i<count($teile);$i++) echo "<tr><td>".$teile[$i]."</td></tr>";
                echo 
                "</table>"
                meine Projekte bestaunen: http://www.kleiza.de

                Kommentar


                • #9
                  Und wieder nen großes THX an dich

                  Wenn das alles so leicht ist *g* ok hier das nächste:


                  Nun will ich eine UPDATE query benutzen um die zufällig ausgewählte ID in einen anderen Datensatz einzufügen. Das Problem ist das diese ID eingefügt werden soll ohne den bereits bestehenden Inhalt zu löschen, sie soll also nur an den bereits vorhandenen Inhalt angehängt werden.

                  EDIT: Hat sich erledigt, habs selbst hinbekommen
                  Zuletzt geändert von Ebby; 25.10.2002, 20:21.

                  Kommentar

                  Lädt...
                  X