Transfert du contenu d'un tableau vers une autre page [Résolu]

Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012
- - Dernière réponse : anthony428
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012
- 24 juil. 2009 à 09:12
Bonjour,

J'ai le script suivant :

while ($row = mysql_fetch_assoc($result)) {
//retourne le nombre de résultats
$_SESSION['nb_enregistrement']=mysql_num_rows($result);
$_SESSION['nom_societe']=$row['nom_societe'];

}

et la récupération comme ceci :

session_start();
$nb_enregistrement=$_SESSION['nb_enregistrement'];
$i=0;
while ($i != $nb_enregistrement) {
$nom_societe[$i]=$_SESSION['nom_societe'];
echo $nom_societe[$i];
$i++;
}


ce code fonctionne mais me retourne seulement la dernière valeur enregistrée dans mon tableau et l'affiche le nombre de fois spécifié par mon compteur $i.
Comment puis adapté ce script afin de récupérer toutes les valeurs du tableau 1 de la page 1 et de les transférer dans le tableau 2 de la page 2 destiné à un autre traitement.
J'espère que je me suis exprimé clairement.

Voyez vous une solution à mon problème.
Je pense que ce n'est pas grand chose mais la syntaxe php me manque.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
103
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
26 décembre 2009
1
3
Merci
Salut,

Le problème c'est que tu mets toutes les valeurs dans la même variable :
$_SESSION['nom_societe']=$row['nom_societe'];
$_SESSION['nom_societe'] est la même variable dans chaque tour de la boucle.

Pareil pour la lecture tu ne lis qu'une seule variable.


Voici une possibilité de correction :
$i = 0;
while ($row = mysql_fetch_assoc($result)) {

//retourne le nombre de résultats

$_SESSION['nb_enregistrement']=mysql_num_rows($result);

$_SESSION['nom_societe'.$i]=$row['nom_societe'];

$i++;
}




session_start();

$nb_enregistrement=$_SESSION['nb_enregistrement'];

$i=0;

while ($i != $nb_enregistrement) {

$nom_societe[$i]=$_SESSION['nom_societe'.$i];

echo $nom_societe[$i];

$i++;

}


a++ extraman1

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de extraman1
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
3
Merci
Salut,


Il y a pas mal d'erreurs dans ton code :
- tu mets mysql_num_rows($result); dans la boucle while : c'est inutile puisque ta requête ne change pas
- $_SESSION['nom_societe']=$row['nom_societe'];
comme le dit Extraman tu ré écris à chaque fois dans la même variable
$nb_enregistrement=$_SESSION['nb_enregistrement'];
$nom_societe[$i]=$_SESSION['nom_societe'];

pourquoi ne pas utiliser directement la var de session ??
while ($i != $nb_enregistrement) {

préfère ça :
while ($i < $nb_enregistrement) {
ou mieux : for($i=0; $i < $nb_enregistrement; $i++) {
- ...

Perso je ferai plutôt ça :

$_SESSION['nb_enregistrement'] = mysql_num_rows($result);
$_SESSION['nom_societe'] = array();

while ($row = mysql_fetch_assoc($result)) {
  array_push($_SESSION['nom_societe'], $row['nom_societe'];
} 


et sur l'autre page :

session_start();

foreach($_SESSION['nb_enregistrement'] as $num_enregistrement) {
  echo $num_enregistrement;

}



Cordialement,


Kohntark -

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kohntark
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012
0
Merci
Merci pour vos solutions.
encore une fois kohntark est là pour résoudre mes problèmes.
Merci beaucoup.
Commenter la réponse de anthony428