Affichage du résultat d'une fonction

Par Ekim Kael, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

je voudrais afficher le resultat de ma fonction mais là encore je ne comprends pas trop ce qui cloche,

le voila

function userInfo(){ global $db; $q = $db->query("SELECT * FROM users ORDER BY id ASC"); $datas = []; while ($datas = $q->fetchObject()) { return $datas; } }

je voudrais récuperer chaque entrée dans une ligne d'un tableau

<table class="table table-striped table-hover "> <thead> <tr> <th>id</th> <th>pseudo</th> <th>email</th> <th>date d'inscription</th> </tr> </thead> <tbody> <?php $users = userInfo(); foreach ($users as $user) { ?> <tr> <td><?= $user->id; ?></td> <td><?= $user->pseudo; ?></td> <td><?= $user->email; ?></td> <td><?= $user->active; ?></td> </tr> <?php } ?> </tbody> </table>

mais rien ne s'affiche au niveau du tableau
et je n'ai aucune erreur qui s'affiche.
merci d'avance

6 réponses

Lartak, il y a 10 ans

Bonjour.
Il ne te faut pas mettre le return dans le while.

Ekim Kael, il y a 10 ans

quand je vire le return voila l'erreur que j'obtiens

Warning: Invalid argument supplied for foreach() in C:\AppServ\www\dashboard\index.php

Lartak, il y a 10 ans

Je ne t'ai pas dit que tu devais le supprimer, mais que tu ne devais pas le mettre dans le while.

Ekim Kael, il y a 10 ans

merci du conseil j'ai trouvé solution à mon problème.Voila ce que je devais faire

function userInfo(){ global $db; $q = $db->query("SELECT * FROM users ORDER BY id ASC"); $datas = []; while ($req = $q->fetchObject()) { $datas[] = $req; } return $datas; }
Ekim Kael, il y a 10 ans

Merci encore tu es mon sauveur aujourd'hui.Je suis amateur encore donc je panique pour un ci ou un ça..merci encore du coup de main Ouuff!

Lartak, il y a 10 ans

De rien, avec plaisir. ;)