De beste manier die ik heb gevonden om een willekeurig aantal willekeurige records te selecteren, is met OFFSET in de query.
Laten we zeggen dat je 6 willekeurige records wilt, dus ik leen van een antwoord hierboven en tel het totale aantal vrienden in de database.
$sql = mysql_query("SELECT COUNT(*) AS total FROM friends WHERE member_id='". $_SESSION['userid'] ."'");
$get_count = mysql_fetch_array($sql); // Fetch the results
$numfriends = $get_count['total']; // We've gotten the total number
Nu krijgen we de 6 willekeurige records van het totaal hierboven (hopelijk is het> 6),
$query = mysql_query("SELECT * FROM friends WHERE member_id='". $_SESSION['userid'] ."' LIMIT 6 OFFSET " . (rand(0, $numFriends));
while ($rows = mysql_fetch_array($query))
{
/// show your $rows here
}
Het gebruik van OFFSET is misschien niet de beste of meest efficiënte, maar het werkte voor mij op grote databases zonder ze vast te lopen.