Newsgroup: it.comp.www.php
Titolo: PB: caricamento pagina

ciao a tutti:
ho un piccolo problema da risolvere per ottimizzare le prestazioni delle mie
pagine:
PAG A -> motore per elaborare i dati immessi -> PAG B
fin qui nulla di strano se non per il fatto che PAG B non è altro che ancora
PAG A con pochi dati cambiati. Il mio problema sta qui: per risparmiare
tempo di caricamento e risorse, è possibile fare in modo che i dati di PAG
A, richiesti all'inzio da un DB MySQL siano mantenuti invariati in PAG B (a
parte le piccole cose che cambiano) senza dovere rifare la SELECT ???
ditemi se son stato troppo contorto!!! :p
grazie a tutti! :)
--
        ----- Manu -----
http://www.cisonostato.it

Se i dati che ricavi con la select non sono troppissimi puoi passarli
alla pagina B con il metodo post o get
Esempio:
Pag A seleziona 1 record con un nome e un cognome
nome = 'paolino'
cognome = 'paperino
Li metti in un form con campi hidden che ti generi dinamicamente in
base al risultato della select, gli imposti action=PagB
method=POST...e alla fine avvii in automatico il submit del form.
Oppure ti leggi l'array restituito dalla select e ti costruisci 'a
mano' la search in modo che risulti
pagB?nome=paperino&cognome=paolino
e la usi come URL di destinazione
Ciao da Peppe2
***********************
Prego no risposte via e-mail


... sono troppissimi! :(
grazie mille comunque!


parte le piccole cose che cambiano) senza dovere rifare la SELECT ???
Puoi forse SEMPLIFICARE la SELECT. Scrivi i dati in un'altra tabella,
che pulisci periodicamente, con una "handle" univoca e gli altri dati
serializzati con serialize().
Poi passi la handle alla pagina B (...?hnd=$HANDLE).
La pagina B non fa una select sulla tabella vera ma la fa sulla nuova
tabella ausiliaria, che sara' piccolissima e contiene due campi soli,
dei quali il primo e' primary key numerica -- velocissimo.
	SELECT blobber FROM auxiliary WHERE handle=$HANDLE;
poi un giro di unserialize() fa comparire tutte cose :-)
Leonardo
-- 
For Light is but the left hand of Darkness; and Darkness but the right
hand of Light. Blessed then be also Darkness, and Creation unfinished.
(Tenets of the Yomeshta cult)                                  +++ATH0

grazie mille!
sinceramente ho capito veramente poco di quello che mi hai detto (:ş) ma ci
lavoro ... al massimo so dove trovarti! :ş
PS: se ne hai voglia mi potresti mandare un esempio? ... l'indirizzo lo
trovi qui sotto! :)
yby....@tin.it
ciao ciao!!!


 .... sono troppissimi! :(
Salvali in una array, metti l'array in una sessione e propaga l'ID.
Bye.

lavoro ... al massimo so dove trovarti! :ş
Quando tiri fuori i dati, nella pagina A avrai un array con dentro tutto
quel che hai tirato fuori da MySQL sudando sangue :-)
Quell'array lo serializzi con serialize() e ottieni una stringa.
Questa stringa la infili in una nuova tabella
	CREATE TABLE sqlcache
	(
		handle integer primary key not null,
		bundle text
	);
con
	INSERT INTO sqlcache VALUES ($HND, '$serializzato');
HND la calcoli con random(), per esempio, oppure come
	$HND=date("YmdHis") . (random(8999) + 1000);
che ti da' un numero sicuramente (?) univoco.
A questo punto passi l'HREF alla pagina B:
	HREF="b.php?HND=$HND"
e la pagina B deve solo fare
	SELECT bundle FROM sqlcache WHERE handle=$HND;
e poi usare unserialize() per espandere "bundle" nei dati originali.
Non e' molto diverso dall'usare le variabili di sessione, naturalmente.
Leonardo
-- 
Nior thainig ar major i dtus an lae chugainn,
is ni rabhamar fein ann i gcoir na gceart
ach mar sheolfai aoireacht bo gan aoire,
ar thaobh na greine de Sliabh na mBan.