2010-11-16 14 views
5

Web sayfamda gelişmiş arama yaptım, şimdi bunun nasıl çalıştığı şu şekildedir. Bir arama yapıldığında, içerik sayfasında rastgele sonuçlar görünüyor, şimdi bu sayfa ayrıca sayfalandırma içeriyordu, bu yüzden benim sorunum her ziyaretçinin ilk sayfaya gittiğinde farklı sonuçlar ortaya çıkıyor. Bu ile sayfalama kullanmak mümkün mü yoksa ordring her zaman rasgele olacak mı. BenSayfalandırma ile MySql sorgusundaki rasgele değerler

SELECT * FROM table ORDER BY RAND() LIMIT 0,20; 

cevap

12

gibi bir sorgu kullanıyorum

Sen tutarlı sonuçlar elde etmek MySQL RAND için bir tohum kullanmalıdır. PHP size bir

$paginationRandSeed = $_GET['paginationRandSeed']? 
    ((int) $_GET['paginationRandSeed']): 
    rand() 
; 

yapmak ve MySQL o tohum sayfa isteklerinde ilk tohum yaymak gerekir Tabii

"SELECT * FROM table ORDER BY RAND(".$paginationRandSeed.") LIMIT 0,20" 

kullanın. doğru yönde beni işaret için

İyi şanslar,
Alin

+0

Thanx, çözüm MySQL belgelerinde bu RAND() işlevi için daha fazla çalışmaya mükemmel benim için – Roland

+0

Mükemmel noktasını çalıştı. Müşteri sitemde sunduğum bazı mülkler listeme ekledim: $ seed = date ('jnY'); ' – kkatusic

İlgili konular