Boucle sur session

Eléphant du PHP | 226 Messages

20 janv. 2012, 11:47

Bonjour/ bonsoir,
Je n'arrive pas à lire le contenu d'une session sur une boucle.
foreach ($_SESSION['resultByName'] as $key => $value) {
echo '<tr><td>'.nom.'</td><td>'.prenom.'</td><td>'.id.'</td>
...
}
Si je fais
foreach ($_SESSION['resultByName'] as $key => $value) {
          echo "<li><strong>".ucfirst($key)." : </strong><em>".$value."</em></li>\n";
}
J'obtiens bien:
Nom : nom
Prenom : prenom
Id : nom.prenom
...
Mais dans le tableau ci-dessus dans la boucle, comment spécifier telle valeur à telle endroit ?
merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

Eléphant du PHP | 209 Messages

20 janv. 2012, 12:29

Salut,

Je comprend pas trop ta question..
Ta boucle foreach fonctionne de la même manière que tu passes par une liste ou un tableau.
foreach ($_SESSION['resultByName'] as $key => $value) {
echo '<tr><td>'.ucfirst($key).'</td><td>'.$value.'</td></tr>';
}

Eléphant du PHP | 226 Messages

20 janv. 2012, 13:39

Je n'ai peut-être pas donné assez de code...
<th align="center">Nom</th>
        <th align="center">Prenom</th>
        <th align="center">Identifiant</th>
        <th align="center">Mot de passe</th>
...
foreach ($_SESSION['resultByName'] as $key => $value) {
echo '<tr><td>'.?.'</td><td>'.?.'</td><td>'.?.'</td>
        <td>'.?.'</td><td>'.?.'</td>
}
Comment dans la boucle, puis-je écrire que telle valeur ($value) doit correspondre à nom, prénom, Identifiant...
$_SESSION['resultByName']['nom'][$value] Je ne sais pas, je mets n’importe quoi. C'est juste un exemple... Quelle est la syntaxe ?
Merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

ViPHP
xTG
ViPHP | 7331 Messages

20 janv. 2012, 14:16

Euh... Tu n'as pas un tableau de plusieurs noms et prénoms en fait...
Tu n'as qu'un seul couple ?!

Pourrais-tu nous retourner le résultat de var_dump($_SESSION['resultByName']); ?

Eléphant du PHP | 226 Messages

20 janv. 2012, 14:48

Ça tient des deux en fait. J'aurais dû commencer par ça peut-être...
Dans ce cas-ci, je n'ai effectivement qu'une seule information. L'utilisateur fait une recherche sur 1 nom (un compte en fait). Un var_dump sur un résultat:
object(stdClass)[2]
  public 'idRec' => string '1836' (length=4)
  public 'nom' => string 'nom' (length=8)
  public 'prenom' => string 'prenom' (length=11)
  public 'id' => string 'nom.prenom' (length=20)
  public 'pass' => string 'xxxxxxxx' (length=8)
  public 'section' => string 'Formateurs 2011' (length=15)
Mais il y a également un second cas où l'utilisateur peut faire une recherche sur une section, qui contient plusieurs comptes. Et donc plusieurs noms, prénoms, d'où une boucle...
Merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

ViPHP
xTG
ViPHP | 7331 Messages

20 janv. 2012, 17:20

Sauf qu'un objet c'est pas comparable à un tableau d'objet...
Le mieux serait dans ton cas de retourner un tableau d'objet quoi qu'on demande. (au pire t'auras un array avec un seul objet dedans mais c'est pas grave)
Sinon il te faudra faire un if avec le traitement des deux cas. :/