Page 1 sur 1

transfert resultat requete mysql

Posté : 13 oct. 2006, 14:11
par bijour
Hello,

Voici mon probleme :

J'ai une requete dans une page 1, dont je traite le resultat en cette meme page.

dans une page2, j'ai la meme requete dans la page 1. (donc j'aurais le meme resultat).

Mais j'aimerais savoir comment je peux envoyer le resultat de la requete en page 1 à la page 2. Afin de gagné du temps.

Voici ma requete page1 j'ai la meme en page 2 :

Code : Tout sélectionner

$test = mysql_query($query); for ($i = mysql_num_rows($test) - 1; $i >= 0; $i--) { if (!mysql_data_seek($test, $i)) { echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n"; continue; } if (!($row = mysql_fetch_assoc($test))) { continue; } echo $row['name']; }
j'aimerais faire partir le mysql_query dans la page 2, et recupere le resultat du mysql_query de la page 1 et l'envoyer via une requete ou autre solution à la page 2.

Je pensais utiliser une variable session genre

Code : Tout sélectionner

$_session["test"] = mysql_query($query);
mais le resultat en page 2 est 0.

Posté : 13 oct. 2006, 15:12
par Ryle
Tu as bien un session_start() au début de tes deux pages ?
de plus $_SESSION devrait il me semble être en majuscule...

Posté : 13 oct. 2006, 15:20
par bijour
Tu as bien un session_start() au début de tes deux pages ?
de plus $_SESSION devrait il me semble être en majuscule...
Oui sur les deux pages.
ET le $_SESSION est bien en majuscule.

Posté : 13 oct. 2006, 16:03
par Ryle
Hum... en y réflechissant, tu ne dois pas pouvoir mettre le resultat de ton mysql_query() directement dans la session... c'est un objet de type Ressource et pour sessioniser un objet, il faut le serialiser :
// page 1
$rs = mysql_query($query) or die(mysql_error()); // (en cas d'erreur sql)
$_SESSION["test"] = serialize($rs); // serialisation

// page 2
$rs = unserialize($_SESSION["test"]);
En gros, ca transforme ton objet en une chaine texte le temps du stockage en session, qu'il peut reconstituer ensuite pour retrouver les clés, valeurs et autres infos utiles :)

Posté : 13 oct. 2006, 16:44
par bijour
Hum... en y réflechissant, tu ne dois pas pouvoir mettre le resultat de ton mysql_query() directement dans la session... c'est un objet de type Ressource et pour sessioniser un objet, il faut le serialiser :
// page 1
$rs = mysql_query($query) or die(mysql_error()); // (en cas d'erreur sql)
$_SESSION["test"] = serialize($rs); // serialisation

// page 2
$rs = unserialize($_SESSION["test"]);
En gros, ca transforme ton objet en une chaine texte le temps du stockage en session, qu'il peut reconstituer ensuite pour retrouver les clés, valeurs et autres infos utiles :)
Malheureurement si je fais un echo $rs sur la page 2, il me retroune la valeur 0.
Alors que je devrais avoir "Resource id #18".