Problème d'array et de session

astroma Messages postés 30 Statut Membre -  
mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Avant de vous poser mon problème, je voulais vous remercier pour toutes les informations et les conseils que j'ai pu trouver sur ce forum.

Je suis totalement débutant en php car il y a encore trois semaines je n'avais jamais tapé une ligne de code. Grâce à tous les informations sur Internet j'ai pu faire mon petit moteur de recherche mais là je bloque car je n'ai pas de message d'erreur pour me dire d'où peut venir le problème.

Voici le code qui me pose problème :
// $tableau est la variable de type matrice qui fait le tableau
$_SESSION['panier'] = array();
//On attribue un chiffre pour chaque enregistrement trouvé. La variable i est standard et représente le chiffre attribué pour chaque ligne de réponse
$i = "1";

//On boucle pour afficher la liste des enregistrements trouvés
while($_SESSION['panier'] = mysql_fetch_array($reqpart))
{

echo$_SESSION['panier']['EVENEMENT'];

La boucle est faite à partir de la requête suivante :

$reqpart = mysql_query("SELECT JOUR,MOIS,ANNEE,EVENEMENT,MOTSCLES,COMMENTAIRES FROM historique WHERE evenement LIKE '%$requete%'ORDER BY id ASC")
or die (mysql_error());

J'ai bien écrit session_start en haut de ma page

Lorsque je fais le echo sur cette page j'ai 5 résultats qui s'affichent en provenance de ma BDD ce qui est normal. Par contre lorsque sur une autre page je veux mettre

echo$_SESSION['panier']['EVENEMENT'];

je n'ai qu'un résultat qui s'affiche. Cela fait 48 heures que je cherche et là je bloque.

PS :Comme cette page est intermédiaire entre ma page index.php qui a le formulaire pour le POST et ma page choix.php j'ai aussi fait dessus un header.

J'espère avoir été clair
Quelqu'un peut il m'aider, merci d'avance

1 réponse

mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 341
 
La solution la plus simple, sérialiser votre tableau.

Utiliser serialize, voir ici:
http://php.net/manual/fr/function.serialize.php

donc en fin de traitement:

$_SESSION['panier'] = serialize($monTableau);

dans l'autre page on dé-sérialise:

$monTableau = unserialize($_SESSION['panier']);

A+
0