- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Risultati random MySQL e paginazione
-
Risultati random MySQL e paginazione
Ciao ragazzi,
vi espongo subito il mio problema, in poche parole ho una select del tipo:
[PHP]
SELECT * FROM tabella ORDER BY RAND()
[/PHP]e fin qui tutto ok!
Il problema si presenta quando faccio la paginazione, cioè quando vado a pagina 2 i risultati vengono ripetuti perchè ricaricando la pagina il sistema fa altri risultati random ma include anche quelli di pagina 1.
Come faccio a risolvere?
Grazie
Matt86
-
Ho trovato questo articolo: kb.creativepark.it/kb/entry/11/ secondo quello che ho letto ho fatto così:
[php]
srand(make_seed());$seed_cookie = isset($_COOKIE['seed']) ? $_COOKIE['seed'] : rand();
$seed = setcookie ("seed",$seed_cookie,time()+3600);
$sql = "SELECT * FROM table ORDER BY RAND({$seed})";
[/php]Ma non funziona, mi fa vedere in tutte le pagine lo stesso risultato della pagina uno. Dove sbaglio?
-
Ciao,
la query che hai scritto mostra sempre tutti i risultati e non li divide su più pagine. Supponimao che hai due variabili:
[PHP]
$pagina_corrente;
$risultati_per_pagina;
[/PHP]
la query è:
[PHP]
$sql = "SELECT * FROM table ORDER BY RAND(".$seed.") LIMIT ".(($pagina_corrente-1)*$risultati_per_pagina).",".$risultati_per_pagina;
[/PHP]Alessandro
-
Grazie tante!
Funziona tutto, sei un grande!