La meilleure façon que j'ai trouvée pour sélectionner n'importe quel nombre d'enregistrements aléatoires est d'utiliser OFFSET dans la requête.
Disons que vous voulez 6 enregistrements aléatoires, donc je vais emprunter à une réponse ci-dessus et compter le nombre total d'amis dans la base de données.
$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
Maintenant, nous allons obtenir les 6 enregistrements aléatoires sur le total ci-dessus (espérons que c'est> 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
}
Utiliser OFFSET n'est peut-être pas le meilleur ni le plus efficace, mais cela a fonctionné pour moi sur de grandes bases de données sans les enliser.