Mario Alka: MySQL Abfrage ZUFALL

Hallo,

ich möchte eine MySQL abfrage machen bei welcher er nach zufall einen Datensatz ausliest.

Bisher habe ich immer folgendes benutzt:

SELECT * FROM banner where kat='$kat' ORDER BY RAND() LIMIT 1

Jedoch bin ich jetzt bei einem neuen Provider bei welchem diese Abfrage nicht mehr Funktioniert. Er liest mir einfach immer den aktuellsten Datensatz aus. Wie kann ich das Problem lösen?

mfg

Mario Alka

  1. Hallo,

    Bau Dir ein "NEAR"

    SELECT * FROM banner where kat='$kat' ORDER BY RAND() LIMIT 1

    Dann müsstest Du z.B. eine Such-ID vorher durch eine CGI-Funktion auswürfeln lassen und dann Deine Abfrage danach ausführen:

    SELECT * FROM banner where kat='$kat' and $such_ID <= ID LIMIT 1

    So sollte das klappen

    Grüße

    Chris©

  2. Hallo Mario,

    SELECT * FROM banner where kat='$kat' ORDER BY RAND() LIMIT 1

    http://www.dclp-faq.de/q/q-sql-select.html

    Jedoch bin ich jetzt bei einem neuen Provider bei welchem diese Abfrage nicht mehr Funktioniert.

    welche mysql-Version hat der neue Provider? laut http://www.mysql.de/doc/de/Mathematical_functions.html (nach "rand" suchen) bzw. http://www.dclp-faq.de/q/q-mysql-zufall.html geht das erst ab 3.23.

    Grüße aus Nürnberg
    Tobias

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