sauver une variable de type $result en session

Le
isorn
Bonjour,

Quelqu'un sait il s'il y a un moyen de donner une portée super globale
à une variable de type $result = pg_query($connection, $query) (je
travaille avec Postgre).
L'idée etant de faire une requete SELECT une seule fois et ensuite
d'afficher sur d'autres pages les résultats de la requete en faisant
un fetch_array sur la variable $result (ce qui permet d'eviter de
passer par un tableau contenant l integralité des résultats ou
d'utiliser la clause LIMIT / OFFSET dans le SELECT).

J'ai essayé de passer $result en $_SESSION sans succès. y a t il une
alternative ?


Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #62220
Bonjour,

Quelqu'un sait il s'il y a un moyen de donner une portée super globale
à une variable de type $result = pg_query($connection, $query) (je
travaille avec Postgre).


Utiliser $GLOBALS['result'] au lieu de $result : $GLOBALS étant une
super globale, ça marchera depuis n'importe quelle fonction.

L'idée etant de faire une requete SELECT une seule fois et ensuite
d'afficher sur d'autres pages les résultats de la requete en faisant
un fetch_array sur la variable $result


Sur *d'autres pages* ??? J'ai dû mal comprendre. Si tu parles bien de
pages HTML différentes, donc de requêtes HTTP différentes, et partant de
là de lancements indépendants d'un process PHP, avec des connexions à la
base de données indépendantes, c'est bien évidemment impossible.

(ce qui permet d'eviter de
passer par un tableau contenant l integralité des résultats


Ah ben oui, il vaut mieux en effet éviter de passer l'intégralité de la
base de données dans un échange de deux paquets HTTP (réponse + nouvelle
requête).

ou d'utiliser la clause LIMIT / OFFSET dans le SELECT).


Il faudra m'expliquer pourquoi tu veux éviter la façon de faire la plus
naturelle et la plus efficace.

y a t il une alternative ?


Je crois que tu l'as donnée toi-même : LIMIT / OFFSET.

Publicité
Poster une réponse
Anonyme