Warning: count(): Parameter must be an array or an object that implements Count
Résolu
rolly41
Messages postés
244
Date d'inscription
Statut
Membre
Dernière intervention
-
rolly41 Messages postés 244 Date d'inscription Statut Membre Dernière intervention -
rolly41 Messages postés 244 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Count(): parameter must be an array
- Cpu fan fail warning control ✓ - Forum Processeur
- Warning zone telechargement - Accueil - Outils
- Warning your chassis has been opened ✓ - Forum Matériel & Système
- Warning : your computer CHIP Fan Fail or spee - Forum Windows
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
1 réponse
Bonjour,
$req = $pdo->query('SELECT id FROM cat_forum'); $nbr = $req->fetch(); $test = !empty($nbr) ? count($nbr) : 0 ; // IF/ELSE réalisé en écriture TERNAIRE pour s'assurer que la variable existe et n'est pas vide/false/null
rolly41
Messages postés
244
Date d'inscription
Statut
Membre
Dernière intervention
1
Merci, depuis des années tu réponds à mes demande d'aide avec succès, je ne sais pas comment te remercier :)