Alexander: Zufallstext aus einer Datenbank auslesen!

Hi,
hab da mal eine Frage:
Kann man aus einer Datenbank einen Zufallstext (in diesem Fall ein Witz) ausgeben lassen? Wenn ja wie?
Schonmal Danke für eure Hilfe!

MfG
Alexander

  1. Hi,

    Kann man aus einer Datenbank einen Zufallstext (in diesem Fall ein Witz) ausgeben lassen? Wenn ja wie?

    Bei MySQL z.B. durch Kombination von LIMIT und ORDER BY RAND().

    MfG ChrisB

    1. Hi,

      Kann man aus einer Datenbank einen Zufallstext (in diesem Fall ein Witz) ausgeben lassen? Wenn ja wie?

      Bei MySQL z.B. durch Kombination von LIMIT und ORDER BY RAND().

      MfG ChrisB

      $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY WITZ LIMIT 0, 30 ';

      Und wie bekomm ich die jetzt im Zufall angezeigt?

      1. Hallo Alexander,

        Kann man aus einer Datenbank einen Zufallstext (in diesem Fall ein Witz) ausgeben lassen? Wenn ja wie?

        Bei MySQL z.B. durch Kombination von LIMIT und ORDER BY RAND().

        $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY WITZ LIMIT 0, 30 ';

        Und wie bekomm ich die jetzt im Zufall angezeigt?

        indem Du's richtig machst!

        Wieviele Witze willst Du haben? Einen! => LIMIT 1
        Lesen, was Chris geschrieben hat, schadet auch nichts, ich wiederhole nochmal:

        ... ORDER BY RAND()

        Ist in Deinem Statement ein ORDER BY RAND() zu finden?

        Freundliche Grüße

        Vinzenz

        1. Hallo Alexander,

          Kann man aus einer Datenbank einen Zufallstext (in diesem Fall ein Witz) ausgeben lassen? Wenn ja wie?

          Bei MySQL z.B. durch Kombination von LIMIT und ORDER BY RAND().

          $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY WITZ LIMIT 0, 30 ';

          Und wie bekomm ich die jetzt im Zufall angezeigt?

          indem Du's richtig machst!

          Wieviele Witze willst Du haben? Einen! => LIMIT 1
          Lesen, was Chris geschrieben hat, schadet auch nichts, ich wiederhole nochmal:

          ... ORDER BY RAND()

          Ist in Deinem Statement ein ORDER BY RAND() zu finden?

          Freundliche Grüße

          Vinzenz

          Soo ich hoff das is richtig:
          <? $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY RAND() LIMIT 1'; ?>

          Aber es funktioniert nicht, was hab ich falsch gemacht?

          1. Oder doch so(funktioniert auch nicht):
            $sql = 'SELECT * FROM witzepas ORDER BY RAND() LIMIT 1';
            ?
            Und für das * -> WITZ (also den Namen) einsetzen?

          2. Hello,

            <? $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY RAND() LIMIT 1'; ?>
            Aber es funktioniert nicht, was hab ich falsch gemacht?

            Bitte bitte bitte bitte bitte bitte verate uns doch was "funktioniert nicht" heißt! Brauchst du übrigens das COUNT(*)?

            MfG
            Rouven

            --
            -------------------
            sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
            Vegetarier essen meinem Essen das Essen weg.
            1. Hello,

              <? $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY RAND() LIMIT 1'; ?>
              Aber es funktioniert nicht, was hab ich falsch gemacht?
              Bitte bitte bitte bitte bitte bitte verate uns doch was "funktioniert nicht" heißt! Brauchst du übrigens das COUNT(*)?

              MfG
              Rouven

              Es wird garnichts angezeigt!

              1. Hi,

                jetzt gewoehne dir doch bitte mal an, vernuenftig zu zitieren - du merkst doch wohl, dass die anderen hier auch nicht ohne nachzudenken einfach alles uebernehmen.

                <? $sql = 'SELECT COUNT( * ) AS Zeilen , WITZ FROM witzepas GROUP BY WITZ ORDER BY RAND() LIMIT 1'; ?>

                Es wird garnichts angezeigt!

                Obiges ist ja auch lediglich eine Variablenzuweisung - da wird natuerlich nichts "angezeigt".

                Wenn dir noch nicht mal ansatzweise klar ist, wie man aus PHP heraus eine Datenbankabfrage macht und das Ergebnis auswertet - dann schnapp dir doch bitte ein Tutorial (bspw. http://tut.php-quake.net/), und lese es dort nach. Das sind ziemliche Basics.

                MfG ChrisB

      2. Hi!

        Lies doch mal genau, was Dir geschreiben wurde. Du hast da irgendwas nicht richtig umgesetzt. Du sortierst die Witze alphabetisch (warum das?) und laesst die die ersten 30 anzeigen. (du wolltest aber doch nur einen?)

        http://dev.mysql.com/doc/refman/5.1/de/mathematical-functions.html

        Hier, im unteren Drittel wird rand() erklaert. Mit Beispiel.

        Warum zaehlst Du denn die Witze ueberhaupt? Du nimmst doch eh 30. (Vorrausgestzt, du hast mindestens 30. Wenn nicht mag zaehlen ja sinnvoll sein - wofuer auch immer...

        Gib uns doch deinen fertigen Query zur Ansicht. Interessiert mich.