Frank: Wie kriege ich Datensatz 1173 aus PHP-SQL-Select ?

Hi,
meine Logik sagt mir, es geht eigentlich nicht,
aber vielleicht hat ja doch irgendjemand einen Tipp ;o)
_____________

Ich möchte einen Zufallsdatensatz auslesen.

Mit rand() hab ich z.B. $i="1173"; erzeugt.

Die Abfrage wäre etwa
$sql = "select ID,titel,beschreibung,bild from tabelle where gueltig = '1' AND bild";

Brauch ich da unbedingt 'ne While-Schleife und 'nen $i2 wie Bsp.

$i2 = 0;
while ($row =  mysql_fetch_assoc()) {
$i2++;
if ($i != $i2) { continue; }

oder geht das irgendwie eleganter,
dass ich SOFORT und NUR den Datensatz kriege,
der an 1173. Stelle kommen würde ?

Besten Dank, Frank

  1. Hi,

    Ich möchte einen Zufallsdatensatz auslesen.

    Mit rand() hab ich z.B. $i="1173"; erzeugt.

    Die Abfrage wäre etwa
    $sql = "select ID,titel,beschreibung,bild from tabelle where gueltig = '1' AND bild";

    bin mir zwar nicht sicher, aber du könntest es ja mal mit LIMIT versuchen.
    Also,

    SELECT id,... FROM tabelle WHERE ... LIMIT $i,1

    MfG,
      Juan

    1. Hi Juan,
      Danke, DAS GEHT !!

      Super !

      Liebe Grüsse, Frank

  2. Hallo Frank,

    Ich möchte einen Zufallsdatensatz auslesen.

    Warum lässt du das nicht MySQL machen? Ein: »SELECT ... FROM tabelle WHERE ... ORDER BY [link:http://dev.mysql.com/doc/refman/4.0/de/mathematical-functions.html@title=RAND()] LIMIT 1« sollte helfen.

    Grüße aus Nürnberg
    Tobias

    1. Hi Tobias,
      COOOL, DANKE !!!

      Das erspart mir die vorherige Count(*)-Abfrage
      um erstmal den $i = RAND(); erzeugen zu können :o)

      *FREU FREU* Frank