Caricare dati da DB MySql all'apertura pagina, meglio PHP o Javascript?

Elranius

Nuovo Utente
17 Apr 2013
11
0
1
Salve a tutti,

ho una pagina di raccolta dati che può essere avviata da zero quindi con tutti i campi vuoti oppure ripresa da una precedente compilazione e quindi una parte dei campi devo ripopolari.
Supponendo di avere tutti i dati salvati in una tabella di MySql con chiave id_richiesta, all'apertura della pagina verifico se l'id_richiesta viene passato tramite POST oppure no.
Nel caso venga passato tramite una query recupero i dati dal DB.

In questi casi conviene eseguire la query direttamente in PHP oppure tramite $.Ajax in javascript?
Se caricati tramite PHP per l'utente è trasparente in quanto la pagina viene caricata con già i dati presenti, se invece carico da javascript può esserci un ritardo di 1-2 secondi nella visualizzazione dei dati.
Ma a parte questa trascurabile differenza volevo sapere se un metodo è migliore dell'altro e perchè, cosi da fare le cose fatte bene.

Aggiungo che alcuni campi sono dipendenti da altri.
Ad esempio l'elenco dei titoli libri viene filtrato dall'autore scelto. Se carico quindi i dati, per l'elenco libri che è un $.Ajax su change autore, dovrò oltre che caricare il libro scelto in precedenza anche l'elenco corretto in base all'autore scelto in precedenza.

Spero di essere stato abbastanza chiaro e non troppo lungo.

Grazie molte!
 

macus_adi

Utente Attivo
5 Dic 2017
1.313
88
48
IT/SW
In questi casi conviene eseguire la query direttamente in PHP oppure tramite $.Ajax in javascript?
La query non la fai in JS, ma sempre in PHP....

Esecuzione script php =
-> bootstrap app+
-> esecuzione query +
-> rendering pagina = Tx (tempo per caricare tutte le risorse e l'esecuzione dei vari cicli della query)

Esecuzione in AJAX =
-> bootstrap app+
-> rendering = Ty (tempo solo per caricare risorse)
+
Esecuzione Remota =
-> Query +
-> Output +
-> Rendering lato Cliente = Td (tempo elaborazione elementi richiesti con output minimale che processerà il client e non il server)
Ty+Td<=Tx "Si"-> SE E SOLO SE l'app è scritta a regola d'arte la differenza gioca a favore di JS"
può esserci un ritardo di 1-2 secondi nella visualizzazione dei dati.
Il ritardo è relativo perchè per effettuare il rendering PHP il tempo impiegato varia a seconda della complessità dello script....
per intenderci:
Tx =2 secondi (carico tutti i dati in modo sincrono)
Ty=0,8 secondi (carico solo l'essenziale)
Td=0,5 secondi (carico solo i dati in modo differito)
Quindi stando a quanto sopra..
0.8+0.5<2
1.3<2
_________________________________________________
Naturalmente:
La pagina semplice carica le sole lib necessarie senza rendering, in Ajax chiami e restituisci l'obj e da li effettui (lato client) la renderizzazione dei dati, in cosa si traduce questo?
1- Server molto più scarico
2- Banda sempre disponibile in quanto non vengono ricaricate ad ogni richiesta le risorse
3- Gestione dell'overhead migliore
= App più veloce....