Bonjour,

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

j'ai créé une fonction me permettant de recuperer le total de chaque id de chaque table en base de données

function inTable($table){
        // fonction qui recupère la somme des ID des tables de la BD et les affiche
        global $db;

        $q = $db->query("SELECT COUNT(id) FROM $table");
        return $req = $q->fetch();
    }

je voudrais que pour chaque table trouvée ça fasse ceci :

<?php
require 'partials/header.php'; 
require 'functions/main.func.php';
    $tables = [
        "utilisateurs"=>"users",
        "histoires"=>"stories",
        "commentaires"=>"comments",
        "visiteurs"=>"visites"
    ];
?>
<div class="row">
    <?php foreach ($tables as $tbl_name => $table) { ?>
  <div class="col-lg-3">
    <div class="panel panel-default">
      <div class="panel-heading">Nombre <?= $tbl_name ?></div>
        <?php $nbrInTable = inTable($table); ?>
      <div class="panel-body lead">
        <?php $nbrInTable[0] ?>
      </div>
    </div>
  </div>
    <?php
        }
    ?>
</div>

mais des 4 div à afficher normalement j'en ai que 3 et elles sont vides sans les infos que j'ai demandé et à la troisieme j'ai cette erreur ci

Fatal error: Call to a member function fetch() on boolean in C:\AppServ\www\dashboard\functions\main.func.php on line 14

4 réponses


Lartak
Réponse acceptée

Bonjour.

non non tout est exact mais ça marche toujours pas

À part si tu n'as pas recopié ton code ici comme tu l'as créé, ce que tu dis est faux car la valeur de $nbrInTable[0] ne peut pas s'afficher étant donné que la variable est entre de simples balises PHP.

Salut,
Pour tes div vides, il ne manquerait pas un echo ici : <?php $nbrInTable[0] ?>
Pour l'erreur, es-tu sûr du nom de tes tables ? On dirait une erreur sur un des requêtes, testes les directement en mySQL pour voir si il n'y a pas un problème dessus.

ah!il y'avait une erreur sur la table comments c'était comments_id au lieu de "id" mais encore là aucun affichage

Merci Lartak, j'ai envie de me mettre un smak au visage là..rrrhhhh merci encore