phpbar.de logo

Mailinglisten-Archive

[php] Zufallzugriff DB nur aus vorselektierten Eintraegen

[php] Zufallzugriff DB nur aus vorselektierten Eintraegen

Markus Dobel markus_(at)_balu.kawo2.rwth-aachen.de
Mon, 18 Sep 2000 14:30:15 +0200 (CEST)


On Mon, 18 Sep 2000, Christoph M. Schönian wrote:

> $res    = mysql_query( "select * from $table");
> $result = mysql_num_rows($res);
> srand((double)microtime()*1000000);
> $id = rand(1, $result);
> $query = mysql_query( "select * from $table where id = $id");
> $row = mysql_fetch_array($query);
> $id = $row[id];
> 
> ABER WIE muss das ganze aussehen, wenn ich nur bestimmte
> Datensätze (Where image_start != "none") in den Zufallsgenerator
> werfen moechte ???

Anderer Ansatz:

$res = mysql_query("select count(*) from $table where image_start != 'none'");
$result = mysql_fetch_row($res);

Das sollte effizienter sein als sich die ganze Tabelle zu saugen. Und Du 
hast direkt die Anzahl der in Frage kommenden Records.

srand((double)microtime()*1000000);
$id = rand(1, $result[0]);
$query = mysql_query("select * from $table where image_start != 'none' LIMIT $id,1");

Hier sind ebenfalls wieder weniger Daten zu transportieren, naemlich nur
der Datensatz, den Du willst.

$row = mysql_fetch_array($query);
$id = $row[id];

Gruss, Markus



php::bar PHP Wiki   -   Listenarchive