Buon giorno.
Sto rivedendo attraverso la programmazione ad oggetti, ciò che facevo in modo procedurale.
Ho una query che estrapola 2000 record, e a loro volta vengono paginati 50 per pagina.
Nella pagina dati.php, avevo la query e la paginazione insieme, quindi passando i parametri come di seguito, andavo a richiamare la medesima pagina dati.php?pag=2, e mi restituiva i dati della seconda pagina.
Questo finché erano pochi record e finché era procedurale tutto ok.
codice:
<script>
function cPage(p){
$('#cercaFile').load('dati.php?pag='+p+'&cond=<?php echo $cond;?>');
}
</script>
Ora mi sono accorto che c'è un fortissimo rallentamento.
Eseguendo la query all'interno di HeidiSql mi restituisce i 2000 record in meno di 2 secondi.
Invece da script, ci mette quasi 10 secondi, il che è improponibile.
Ho visto che diminuendo il numero di record per pagina, il tempo di caricamento si riduce a soli 4 secondi.
Domande:
1) utilizzando lo script di cui sopra, anche se cambio pagina 2,3,4 , riesegue la query ogni volta?
2) ora nel file function.php, ho classi e metodi, che richiamo istanziando nuovi oggetti, come di seguito per ottenere dal metodo che contiene la query, la tabella html dei record
Codice PHP:
echo "<div id='elenco'><h4><i class='icon-list'></i> Elenco dati</h4>";
$DWH->elenco_dati($codUfficio,$conloc_id,$cond,$f_TIPPRA,$f_UTENT,$f_TIPO);
echo "</div>";
3) vorrei far in modo di evitare di rieseguire la query ogni volta che clicco su una pagina successiva e/o precedente. Cioè, la paginazione dovrebbe interagire con i dati estrapolati nella prima esecuzione, senza dove ricaricare e rieseguire il tutto.
E' possibile?
Grazie.