क्वेरी में OFFSET के साथ किसी भी संख्या में यादृच्छिक रिकॉर्ड का चयन करने का सबसे अच्छा तरीका है।
मान लें कि आप 6 यादृच्छिक रिकॉर्ड चाहते हैं, इसलिए मैं ऊपर दिए गए उत्तर से उधार लूंगा और डेटाबेस में मित्रों की कुल संख्या की गणना करूंगा।
$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
अब हम उपरोक्त कुल में से 6 यादृच्छिक रिकॉर्ड प्राप्त करेंगे (उम्मीद है कि यह> 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
}
OFFSET का उपयोग करना सबसे अच्छा या सबसे कुशल नहीं हो सकता है, लेकिन यह मेरे लिए बड़े डेटाबेस पर बिना किसी रुकावट के काम करता है।