Ho un problema di paginazione alquanto complesso, in cui interagiscono PHP ed AJAX.
Diciamo che ho una pagina in cui possone essere richiamate una serie di news, per esempio in base alla data:
- tutte quelle aggiunte oggi, oppure
- tutte quelle aggiunte questa settimana, oppure
- tutte quelle aggiunte questo mese
Naturalmente, tanto più ampio è il periodo preso in considerazione, tanto più possono essere le news (anche centinaia).
Il problema (iniziale) è che, quando le news sono tante, i tempi di caricamento sono lenti; quindi, per ovviare a questo problema, ho pensato di caricare una news per volta, con due link next e prev per caricare la successiva o la precedente.
E qui c'è il secondo problema (quello tecnico): le richieste sono effettuate via AJAX, per non ricaricare l'intera pagina, e - nel caso dell'esempio per data - posso inviare una richiesta alla pagina loadata.php?action=variabile, dove questa variabile può essere day o week o month.
La pagina loadata.php, poi, interpreterà questa richiesta così:
Codice PHP:
switch($_REQUEST['action']) {
case 
'day'$data "day";break;
case 
'week'$data "week";break;
case 
'month'$data "month";break; 
quindi effettuo una query al db con un
Codice PHP:
WHERE date '$data' 
Il punto è che non mi viene in mente nessuna soluzione che mi consenta la paginazione news-by-news. Non posso, infatti, prevedere centinaia di casi possibili...
Diciamo che, di default, viene mostrata la prima news, e quindi ho un valore di riferimento iniziale (n=1); potrei conseguentemente crearmi dei valori n-1 e n+1, ma come fare ad avere, in ogni pagina, il corretto valore di riferimento (il numero corrispondente alla news caricata)?
Mi rendo conto che, il problema, forse prima ancora che tecnico è concettuale, ma non mi viene in mente nessuna soluzione.
Qualche suggerimento?