ترقيم صفحات PHP MySQL مع ترتيب عشوائي
يمكن أن يشكل الحفاظ على ترتيب عشوائي في ترقيم صفحات MySQL تحديات عند السعي لمنع النتائج المكررة وضمان مجموعات مختلفة على الصفحة الأولى. فيما يلي حلول لهذه المخاوف:
1. منع النتائج المكررة
لاستبعاد النتائج التي تم عرضها مسبقًا على الصفحات اللاحقة، قم بزيادة استعلام SQL الخاص بك بمعيار الاستبعاد استنادًا إلى الصفوف التي تم جلبها مسبقًا. استخدم مصفوفة PHP لتخزين المحتوى الذي تم جلبه، ودمج الشروط في الاستعلام للاستبعاد:$excludeIDs = []; // Array to store excluded IDs
$query = "SELECT * FROM table ";
if(!empty($excludeIDs)) {
$query .= "WHERE id NOT IN (" . implode(",", $excludeIDs) . ") ";
}
$query .= "ORDER BY RAND() LIMIT 0,10;";
2. نتائج متباينة على الصفحة الأولى
نعم، يمكن استخدام ترقيم الصفحات بترتيب عشوائي عن طريق إدخال قيمة أولية إلى الدالة RAND(). من خلال تغيير البذرة (على سبيل المثال، بناءً على الوقت أو عنوان IP الخاص بالمستخدم)، يمكنك الحصول على مجموعات نتائج مختلفة في كل مرة.3. استخدام RAND(SEED)
حدد قيمة أولية باستخدام RAND(SEED) للتأثير على الترتيب العشوائي. من خلال تعيين عدد صحيح ثابت كبذرة، يمكنك التحكم في تسلسل النتائج:$seed = 521; // مثال لقيمة البذور
$query = "SELECT * FROM table ORDER BY RAND(" . $seed . ") LIMIT 0,10;";
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3