transfert resultat requete mysql

Petit nouveau ! | 4 Messages

13 oct. 2006, 14:11

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.
Modifié en dernier par bijour le 13 oct. 2006, 15:33, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 oct. 2006, 15:12

Tu as bien un session_start() au début de tes deux pages ?
de plus $_SESSION devrait il me semble être en majuscule...

Petit nouveau ! | 4 Messages

13 oct. 2006, 15:20

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.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 oct. 2006, 16:03

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 :)

Petit nouveau ! | 4 Messages

13 oct. 2006, 16:44

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".