Warning: count(): Parameter must be an array or an object that implements Count
Résolu
Bonjour, ma page index.php doit reprendre le nombre de résultat que retourne une requete, le problème c'est que si aucun résultat n'est retourné, j'ai une erreur ' Warning: count(): Parameter must be an array or an object that implements Countable'
Quand il y a des résultats dans la requête, je n'ai aucun message d'erreur. Pourriez-vous m'aider à comprendre ce problème?
Code de la page:
Je suis sous WampServer 3.2.3:
php: 7.3.21
Apache: 2.4.46
mysql: 5.7.31
Windows 10 64bits
Quand il y a des résultats dans la requête, je n'ai aucun message d'erreur. Pourriez-vous m'aider à comprendre ce problème?
Code de la page:
<?php
$page = 'Accueil';
require 'include/head.php';
require 'include/body.php';
$req = $pdo->query('SELECT id FROM cat_forum');
$nbr = $req->fetch();
$test = count($nbr);
if(!empty($test) & $test !== '0')
{
$req1 = $pdo->prepare('SELECT * FROM cat_forum');
$req1->execute();
while($row1 = $req1->fetch())
{
$id_cat = $row1['id'];
$type_cat = $row1['type'];
$name_cat = $row1['name'];
$desc_cat = $row1['description'];
$req2 = $pdo->query('SELECT * FROM forum_forum WHERE id_type_parent="'.$id_cat.'" AND parent="cat"');
$nbr2 = $req2->fetch();
$value = count($nbr2);
if(empty($value))
{
$admin='off';
if($admin == 'on')
{
echo '<table border="3" class="category" align="center">';
echo '<tr valign="middle" align="center"><td colspan="2" width="650"><a href="#" name="'.$name_cat.'">'.$name_cat.'</a></td><td width="100">Sujets</td><td width="100">Messages</td><td width="200">Dernier message</td></tr>';
echo '<tr align="center"><td colspan="5">Cette catégorie ne sera pas visible temps qu\'elle n\'a aucun forum. Créez un forum pour cette catégorie</td></tr>';
echo '</table><br />';
}
}
if($value !== '0')
{
echo '<table border="3" class="category" align="center">';
echo '<tr valign="middle" align="center"><td colspan="2" width="650"><a href="#" name="'.$name_cat.'" title="'.$desc_cat.'">'.$name_cat.'</a></td><td width="100">Sujets</td><td width="100">Messages</td><td width="200">Dernier message</td></tr>';
$req2 = $pdo->prepare('SELECT * FROM forum_forum WHERE id_type_parent="'.$id_cat.'" AND parent="cat"');
$req2->execute();
while($row2 = $req2->fetch())
{
$forum = $row2['name'];
$description = $row2['description'];
echo '<tr height="115"><td width="110" valign="middle" align="center"></td><td valign="top" align="left"><a href="#">'.$forum.'</a><br /><p>'.$description.'</p></td><td width="100" valign="middle" align="center">0 Sujet</td><td width="100" valign="middle" align="center">0 Message</td><td width="200" valign="middle" align="center"><a href="#">Dernier message</a></td></tr>';
}
echo '</table><br />';
}
else
{
echo '';
}
}
}
else
{
echo '<table border="3" class="category" align="center"><tr><td width="1050">Aucune catégorie de forum n\'a été trouvé dans la base de données. <a href="#">Créer une catégorie</a></td></tr></table>';
}
require 'include/end.php';
?>
Je suis sous WampServer 3.2.3:
php: 7.3.21
Apache: 2.4.46
mysql: 5.7.31
Windows 10 64bits