Ho un problema di paginazione alquanto complesso, in cui interagiscono PHP ed AJAX.
Diciamo che ho una pagina in cui possono 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ì:
quindi effettuo una query al db con unCodice PHP:
switch($_REQUEST['action']) {
case 'day': $data = "day";break;
case 'week': $data = "week";break;
case 'month': $data = "month";break;
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...Codice PHP:
WHERE date = '$data'
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.
Insomma, poichè:
- la funzione AJAX sta nella pagina da cui parte la richiesta
- questa pagina php può utilizzare la codifica server side solo al primo load
mi occorre un modo per poter passare, alla pagina loadata.php, oltre alla variabile action anche un'altra variabile, numerica, e che si incrementa/decrementa ad ogni nuova query (secondo che venga cliccato il link next o prev).
Qualche suggerimento?