Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2006, 14h40   #1
Invité de passage
 
Inscription : juin 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 10
Points : 3
Points : 3
Par défaut [Cookies] php + mysql + fpdf optimisation

Hello,

Voici au problème auquel je suis confronté :

J'ai une page 1 en php ou je fais un listing avec un requet mysql.
Puis j'ai un liens sur la page 1 qui me premets d'imprimer.
Quand je clique dessus, j'arrive sur la page 2 ou la création de mon fichier pdf se cree avec fpdf. Mais sur cette page 2 j'ai la meme requet mysql que sur la page 1 pour avoir le meme resultat.

Actuellement cela fonctionne tres bien .
Mais dans un souci d'optimisation, j'aimerais savoir comment je pourrais transmettre les valeurs de la requet en page 1 à la page 2. Afin de diminuer le temps de generation du pdf (car si la requete est trop long il y a des erreur) et le nombre de connection à la base de donnée.

Je pensais stocker ma requet dans un fichier et la recupere depuis la page 2.
Mais comment faire ? quel technique utilisé ?

Merci d'avance pour vos réponse.
bijour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 15h04   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut, tu peux utiliser les sessions pour cela.
Tu mets un session_start() tout en haut de tes 2 pages pour démarrer un session.
Pour sauver une variable dans le tableau de session tu fais :
Code :
$_SESSION['var'] = $var;
Dans ton cas tu auras surement quelquechose de ce style :
Code :
1
2
$row = mysql_fetch_assoc($req);
$_SESSION['row'] = $row;
Sur ta page 2 tu peux donc accéder aux variables comme ceci :
Code :
1
2
$_SESSION['row']['var1']
$_SESSION['row']['var2']
Et tu détruit le tableau quand tu as généré ton PDF:
Code :
unset($_SESSION['row']);
Si ton serveur ne permet pas la transmission de l'id de session dans l'url tu peux également faire un test sur ta page 2 pour les clients ayant désactivé les cookies :
Code :
1
2
3
if(!isset($_SESSION['row'])) {
// tu lances quand même ta requête
}
Bye
Djakisback est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 15h17   #3
Invité de passage
 
Inscription : juin 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 10
Points : 3
Points : 3
Citation:
Envoyé par Djakisback
Salut, tu peux utiliser les sessions pour cela.
Tu mets un session_start() tout en haut de tes 2 pages pour démarrer un session.
Pour sauver une variable dans le tableau de session tu fais :
Code :
$_SESSION['var'] = $var;
Dans ton cas tu auras surement quelquechose de ce style :
Code :
1
2
$row = mysql_fetch_assoc($req);
$_SESSION['row'] = $row;
Sur ta page 2 tu peux donc accéder aux variables comme ceci :
Code :
1
2
$_SESSION['row']['var1']
$_SESSION['row']['var2']
Et tu détruit le tableau quand tu as généré ton PDF:
Code :
unset($_SESSION['row']);
Si ton serveur ne permet pas la transmission de l'id de session dans l'url tu peux également faire un test sur ta page 2 pour les clients ayant désactivé les cookies :
Code :
1
2
3
if(!isset($_SESSION['row'])) {
// tu lances quand même ta requête
}
Bye
d'accord, je vais essayer merci
bijour est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h10.


 
 
 
 
Partenaires

Hébergement Web