IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Passage de pointeur en session


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Passage de pointeur en session
    salut tout le monde voila mon problème

    j'ai une page qui exécute une requete Mysql et quivant qi il y a des valeur en résultat va ouvrir un popup et le popup va lors afficher les résultats. si il n'y a pas de résultat le popup ne s'ouvre pas.
    Biensur vous allez me dire ca n'a rien de compliquer. Mais étant donné la lourdeur de l'application je voulais optimiser les requetes et éviter de refaire le mysql_query. j'ai donc mis le $res de mysql_query($sql) dans une variable de session.
    mais impossible de la récupérer dans le popup. il me mete 0 comme valeur.
    en clair je voudrais passer un pointeur de résultat de requete à travers une session mais j'ai l'impression que ca n'est pas possible. qu'en pensez-vous ?

    merci pour votre aide

  2. #2
    Membre averti Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Points : 412
    Points
    412
    Par défaut
    je ne sais pas si ça marche, mais si tu essayais de sérialiser le pointeur avant de l'enregistrer en varaible de session ? (serialize() puis unserialize())

  3. #3
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 480
    Points
    3 480
    Par défaut
    Le problème est que ton résultat reste valable tant que ta connection n'est pas fermée, donc quand la page a fini de s'afficher, le resultat est effacer, peut-être peux-tu contourner ce problème avec une pconnect, mais j'en doute, l'idéal serait d'exploiter tes résultats dans un tableau, et de mettre ce tableau en session.
    K

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    bon la serialization ne marche.

    Mais en fait la question caché c'est est-ce que c'est réellement necessaire de récupérer les données ou alors tampis je refais la requête et puis ca ira. non parcenque je me prend la t^te mais c'est pour optimiser. donc je sais pas si le tableau dans la session va prendre plus de temps à se faire que de refaire la requete je préfére la refaire
    non ?

  5. #5
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    COmme on te l'a dit il suffit de mettre ton tableau de résultat en session, en clair si ta page tu fait ta requète, tu récupères le résultat, puis tu mets toutes les ligne du tableau récupérées avec mysql_fetch_*() dans ta session, comme ca le coup d'après pas besoin de recalculer la requète tu as déjà le résultat.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 480
    Points
    3 480
    Par défaut
    Je n'ai jamais testé la rapidité d'execution d'une même requête deux fois d'affilé, mais bien que je pense qu'il existe un cache, autant ne pas se baser la dessus si le besoin en performance est critique.

    Mettre le tableau de resultats en session est le meilleur moyen, car quoi qu'il arrive tu devras exploiter tes données d'une manière où d'une autre, mais ça consomme beaucoup plus de mémoire que d'utiliser un resultset, car techniquement le resultset est comme tu le dis un "pointeur" et donc de ce fait il ne récupère les données que quand il en a besoin ( imaginons que tu n'aies besoin que des 10 premiers champs, dans le cas d'un resultset tu ne véhiculera que ces données, alors que dans le cas de la recopie de tableau, tu auras au préalable recopié _TOUTES_ les lignes ).

    Donc c'est à voir, en fonction du besoin, il y a une autre manière d'optimiser : récupérer une liste d'identifiant, et ensuite dans ta popup, de ne faire aucune requête compliqué, mais juste de récupérer les données à partir des identifiants. Ca me parrait la meilleure solution dans le cas où tu n'aies pas forcément besoin de toutes les données de la requête
    K

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ouais j'y ai pensé aussi et après tu fais un select..... in (domained'identifiqant)....

    lesquels tu as récupéré dans une chaise ne caractère séparé par des virgules

Discussions similaires

  1. passage de pointeurs entre appli delphi et DLL c++
    Par e-teo dans le forum Langage
    Réponses: 1
    Dernier message: 13/10/2005, 21h46
  2. Réponses: 10
    Dernier message: 27/08/2004, 11h55
  3. [popup] passage de données de session
    Par Mister_FX dans le forum ASP
    Réponses: 4
    Dernier message: 23/08/2004, 17h38
  4. Problème passage de pointeur
    Par mick74 dans le forum MFC
    Réponses: 2
    Dernier message: 21/04/2004, 18h34
  5. [allegro]passage de pointeur sur image
    Par Gonath dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 13/12/2003, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo