Ankündigung

Einklappen
Keine Ankündigung bisher.

Zufälligen Datensatz auswählen

Einklappen

Neue Werbung 2019

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

  • Zufälligen Datensatz auswählen

    Hi,
    folgende Ausgangssituation:
    Ich habe eine gut gefüllte Tabelle mit den Spalten ID, KatID (int), Wort (varchar).
    Damit kann ich Wörter bestimmten Überbegriffen zuordnen, z.B. alle Einträge mit KatID = 1 sind Automarken, alle Einträge mit KatID = 2 Schauspieler...

    Zur Auslesung der Einträge dient dieser Query:

    SELECT
    Wort
    FROM
    Woerterliste
    WHERE KatID = ...;

    Jetzt möchte ich (mit PHP) von allen Datensätzen mit einer bestimmten KatID einen zufällig auswählen.
    Ich kann also keine zufällige ID wählen, denn dann würde ich irgendeinen Datensatz erhalten, keinen mit einer bestimmten KatID.

    Wie würdet ihr vorgehen? Lässt sich das Problem vielleicht mit einem einzigen Query lösen?

  • #2
    SELECT ... WHERE KatID = ... ORDER BY RAND() LIMIT 1

    - http://www.phpfriend.de/forum/viewtopic.php?t=46827
    - http://www.phpfriend.de/forum/viewtopic.php?t=41915
    - http://www.phpfriend.de/forum/viewtopic.php?t=40452
    - http://www.phpfriend.de/forum/viewtopic.php?t=36139

    Kommentar


    • #3
      mysql_fetch_assoc
      und dann

      array-rand

      zumindest wäre das meine Lösung in PHP, ansonsten einfach xabbuhs Lösung benutzen, ist besser da nur mysql im Spiel ist
      :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

      Kommentar


      • #4
        Zitat von dsmcg
        Sollte man besser vermeiden, um nicht unnötig viele Datensätze aus der Datenbank holen zu müssen.

        Kommentar


        • #5
          Vielen Dank, ich kannte zwar RAND() als Zufallszahlen Funktion, aber nicht die geniale ORDER BY RAND() Zusammensetzung.

          Kommentar

          Lädt...
          X