Page 1 sur 1

Problème count id je ne comprend pas !

Posté : 17 mars 2016, 19:54
par rononedex
Bonsoir,

Je viens vers vous car j'ai un petit soucis pour compter le nombres d'entré dans 3 tables !

Voici donc la fonction qui est sensé faire le taf :

Code : Tout sélectionner

function inTable($table){ global $db; $query = $db->query("SELECT COUNT(id) FROM $table"); return $nombre = $query->fetch(); } $tables = ["Publications" => "works", "Les commentaires" => "comments", "Utilisateurs" => "users"];
Et ensuite le foreach qui aussi sensé afficher ce que je lui donne a manger :

Code : Tout sélectionner

<?php var_dump($tables); foreach($tables as $table_name => $table){ ?> <div class="col-md-4"> <div class="alert alert-success" role="alert"> <h5><?php echo $table_name; ?></h5> <?php $nombre = inTable($table); ?> <p><?php echo $nombre[0]; ?></p> </div> </div> <?php } ?>
Mon var_dump retourne bien mes tables mai j'ai un problème sur nombre[0] qui me retourne ça :
Cannot use object of type stdClass as array


J'ai pourtant tester plusieurs méthode rien n'y fait c'est pourquoi j'en appel a vous.

je ne vois peut être pas ce qui sera visible pour vous ?

je code un blog actuellement et c'est le seul point qui m'agace.

j'ai coder tout le reste sans trop de difficulté le login, les commentaires, account avec l’édition du profil, le register avec envoie de mail d'activation token la total, l'envoie d'article les faille csrf, la gestion des utilisateurs etc... en plus de tout le dashboard et j'en passe.

Mai je plante sur un simple count() qui pour moi n'est pas sensé me renvoyer cette erreur la ou toutes les autre requête fonctionne.

je suis donc perdu j'ai besoin d'aide !! c'est avec plaisir que j'attend vos lumières.

En vous remerciant !! :)

PS : c'est normal que les balise code renvoie du vert ?

Re: Problème count id je ne comprend pas !

Posté : 17 mars 2016, 20:58
par or 1
bizarre
cela donne quoi avec ?
<p><?php echo $nombre->id; ?></p>

Re: Problème count id je ne comprend pas !

Posté : 18 mars 2016, 05:14
par rononedex
Avec ce que tu me donne ça fait ça :

Code : Tout sélectionner

Undefined property: stdClass::$id
Donc je ne comprend pas trop !

Re: Problème count id je ne comprend pas !

Posté : 18 mars 2016, 12:28
par Ryle
Bonjour,

As-tu affiché la requête SQL générée et testé le résultat de son exécution ?

Note : pour que le test de Or1 fonctionne, il faut donner un alias à la colonne COUNT(id), sans quoi, comme tu ne récupères pas l'id lui même, l'attribut n'est jamais défini :
$query = $db->query("SELECT COUNT(id) as nb FROM $table");
... 
<?php echo $nombre->nb; ?> // ou print_r ($nombre);
Ps : ça sert à rien de stocker le résultat du fetch dans une variable $nombre dans ta méthode si celle-ci n'est pas utilisée, autant faire un return de la valeur directement :)
return $query->fetch();

Re: Problème count id je ne comprend pas !

Posté : 18 mars 2016, 19:13
par rononedex
@Ryle

Merci bien en effet ça fonctionne mieux comme ça :)