Objet impossible
helloworld9
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aimerai afficher un select d'une base de données en html, pour cela j'ai créer un objet utilisateur. Je créer un tableau d'objets et je le parcours avec une boucle for.
J'ai le message suivant : Cannot use object of type User as array
J'aimerai afficher un select d'une base de données en html, pour cela j'ai créer un objet utilisateur. Je créer un tableau d'objets et je le parcours avec une boucle for.
J'ai le message suivant : Cannot use object of type User as array
2 réponses
-
Avec quel code ?
-
#select all users in a table $tabUsers = Db::getInstance()->select_all_users(); var_dump($tabUsers);
<tbody> <?php for ($i = 0; count($tabUsers); $i++) { ?> <tr> <td><?php echo $tabUsers[$i]->get_pseudo() ?></td> <td><?php echo $tabUsers[$i]->get_mdp() ?></td> <td><?php echo $tabUsers[$i]->get_photo() ?></td> </tr> <?php } ?>
public function select_all_users(){ $query = "SELECT * FROM users"; $result = $this->_db->query($query); $user = null; #verifier si le resultat n'est pas null ! if ($result->rowcount() == null){ return $user; }else{ while ($row = $result->fetch()) { $user = new User($row->pseudo, $row->mdp, $row->photo); } } return $user; }
-
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, cela me semble clair:
en gros, tu fais:$user = new User($row->pseudo, $row->mdp, $row->photo); echo $user[$i];
Vois-tu pourquoi cela ne fonctionne pas?
moi je tenterais plutôt:$user = array(); // au lieu de $user = null; $user[] = new User($row->pseudo, $row->mdp, $row->photo);