Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sauver une variable de type $result en session

1 réponse
Avatar
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.

1 réponse

Avatar
Olivier Miakinen
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.