|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
[PHP] - Ho perso la sessione (ma forse è lei che perde me :D)
Ho questa situazione
La pagina A: -interroga un db -memorizza il resultset in una variabile $pippo -ne fa una copia in una var di sessione $_SESSION['pluto'] -mostra il risultato utilizzando $pippo -mostra un link per andare alla pagina B La pagina B: -dovrebbe (utilizzando la copia del recordset in $_SESSION['pluto']) mandarmi il risultato in una griglia excel visto che ho messo nelle prime righe del codice di questa pagina (ovviamente c'è tutto un codice che fa questa cosa...) header("Content-type:application/vnd.ms-excel"); header('content-disposition: inline; filename=result.xls'); In realtà sembra che la sessione non contenga + nulla, anche se ho verificato che gli ID della sessione sono identici in entrambe le pagine (quindi la sessione è la stessa) Che dite??? grazieeeeeeeeeeeeeee |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
dimenticavo...
ho provato a fare il displaying nella pagina A usando la $_SESSION['pluto'], in maniera tale da escludere che una variabile di session non potesse contenere un resultset Ultima modifica di 80phoenix : 08-02-2008 alle 14:14. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Se posti un pò di codice è meglio.
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
purtroppo non posso... cmq volevo cercare di capire se commettevo qualche errore grossolano...tipo che non si può passare un recordset ad una variabile di session o cose del genere aggiungo qualche dettaglio: il motivo per cui mi serve fare questa cosa è che voglio esportare il risultato di queries verso un file excel, quindi ho un link sulla pagina A che mi carica la pagina B con gli header di excel messi prima. Volevo evitare di fare rieseguire la query sulla pagina B, passandogli una copia del recordset. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
non è che una volta fetchato il recordset una volta questo viene cancellato, oppure devo riportare il puntatore alla riga all'inizio del risultato???
io infatti faccio: $pippo = eseguo query; $_SESSION['pluto'] = $pippo; le variabili sono puntatori al recordset (che ha un suo cursore)? ho provato a riportare l'ipotetico cursore del recordset all'inizio con mysqli_data_seek($_SESSION['pippo'], 0); ma non sembra funzionare |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non credo che si possano mettere quel tipo di variabili in sessione, imho al cambio di pagina i riferimenti al recordset vengono persi.
|
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
Quote:
concordo invece con te sulla seconda affermazione...probabilmente al cambio di pagina i riferimenti vengono persi. Non c'è modo di mantenere il recordset senza dover tirare in ballo una struttura dati ad hoc? un modo semplice e veloce per passare un recordset da una pagina all'altra??? |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Infatti...intendevo dire che non lo puoi mettere in sessione per utilizzarlo in un'altra pagina
E' chiaro che fino a quando sei nella stessa pagina funzionano. Nota che la sessione non è altro che un file di testo (lo puoi anche visualizzare a mano volendo), se nella sessione non vengono inseriti tutti i dati del recordset lo puoi benissimo vedere. Se non sbaglio ci sono le connessioni persistenti...ora mi informo. |
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
Quote:
piuttosto non ti viene in mente un modo per passare un recordset, al di là di scriverlo su un .txt quando faccio il displaying sulla pagina A da interpretare sulla B? tnx ciaoooo |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Puoi scriverlo nella sessione invece di scriverlo in un file txt. Con implode ed explode dovrebbe essere relativamente semplice. Ti scorri il recordset e vai a mettere i dati in un vettore che sta nella sessione.
Oppure vai a mettere direttamente i vari vettori recuperati da ogni record in un vettore di vettori nella sessione. |
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 193
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:56.




















