Mailinglisten-Archive |
> zufällig eionen auszuwählen. Soll sowas werden wie Zufallslink, der aber ein paar Bedingungen entspricht.
> Benutze PHP zum Datenbankzugriff.
Deutsche PHP-Group: php-list_(at)_egroups.com (Da bin ich auch)
So hab ich es gemacht:
<?php //3
function run_sql($stmt,$&result)
{ // Fürt das Statement aus und setzt den Zeiger $result auf die Ergebnismenge.
// [...] Der Code ist ©
}
function run_sql($stmt,$&result)
{ // Fürt das Statement aus und setzt den Zeiger $result auf die Ergebnismenge.
// Zusätzlich wird der erste Wert des ersten Datensatzes zurückgegeben
// (gut für select count(*))
// [...] Der Code ist ©
}
// das "order" könnte für Dich wichtig sein... muß es aber nicht.
$Bedingung=" from tblname where a=b and c=d and a>b order by a";
// setze neuen Startwert für rand und
// wähle einen Datensatz aus
srand(mktime());
$max=run_sql_count("select count (*) ".$Bedingung,$result);
$pos=round(rand(1,$max));
$stmt="select *".$Bedingung." limit $pos,1"; // hier ist der Clou
run_sql($stmt,$result);
if ($record=mysql_fetch_object($result))
{ echo $record->id;
// That's it
// Nun haben wir den Record, also der $pos. von $max, die
// der Bedingung genügen
};
?>
Es geht auch etwas kürzer, aber dann bringt es Dir nicht mehr so viel.
Außerdem will ich Dir ja nicht den ganzen Spaß nehmen. Noch Fragen? :-)
The sun is shining.
P. Bierans
---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive