Problème message erreur méthode fetch() [Résolu]

Signaler
-
 djoab2021 -
Bonjour,

je suis un débutant dans la programmation web: je viens juste de commencer à développer ma 1ere application.
Dans ma barre de recherche par 02 critères (reference et nom) , j'ai un message d'erreur suivant qui s'affiche à chaque execution.

"Fatal error: Call to a member function fetch() on a non object in c:\wamp\www\......\donneur.ph on line 39

je tiens à vous préciser que j'utilise les versions :
windows 7 professionnel 64 bits service pack1
navigateur : firefox
WAMPSERVER 2.5
MYSQL 5.6.17
APACHE 2.4.9
PHP 5.5.12
brackets : Version 1.14 édition 1.14.2-17770 (release-1.14.2

je ne sais pas si ce problème n'est pas lié à un message précédent qui s'affiche à chaque fois que je rentre dans brackets et que j'ouvre la 1ere page php. il affiche ce message :

installez le moteur d'exécution de PHP 7 pour activer les outils correspondants comme Conseils de code, Conseils de paramétres,
accédez à la définition,etc.Version trouvée : 5.5.12


je vous envois le code , ça peut vous aider à voir l'erreur et à m'orienter avec précision étant donné que je suis débutant, pour la corriger.
Et merci d'avance pour votre aide.

Voici le code :
<?php
    require_once('identifier.php');
    require_once("connexiondb.php");
    
    /*
    if(isset($_GET['refD']))
        $refd=$_GET['refD'];
    else
        $refd="";


*/
  
    $refd=isset($_GET['refD'])?$_GET['refD']:"";
    $nomd=isset($_GET['nomD'])?$_GET['nomD']:"";
    
    $size=isset($_GET['size'])?$_GET['size']:10;     // :6
    $page=isset($_GET['page'])?$_GET['page']:1;
    $offset=($page-1)*$size;
    
    if($refd==""){
        $requete="select * from donneur
                where nom_donneur like '%$nomd%'
                limit $size
                offset $offset";
        
        $requeteCount="select count(*) countD  from donneur
                where nom_donneur like '%$nomd%'";
    }else{
        $requete="select * from donneur
                where ref_donneur like '%$refd%'                
                limit $size
                offset $offset";
        
        $requeteCount="select count(*) countD from donneur
                where ref_donneur like '%$refd%'";
    }

    $resultatD=$pdo->query($requete); 
    $resultatCount=$pdo->query($requeteCount);    
    $tabCount=$resultatCount->fetch();
    $nbrDonneur=$tabCount['countD'];
    $reste=$nbrDonneur % $size;   // % operateur modulo: le reste de la division 
                                 //euclidienne de $nbrDonneur par $size
    if($reste===0) //$nbrDonneur est un multiple de $size
        $nbrPage=$nbrDonneur/$size;   
    else
        $nbrPage=floor($nbrDonneur/$size)+1;  // floor : la partie entière d'un nombre décima       
?>
<!DOCTYPE HTML>
<HTML>
    <head>
        <meta charset="utf-8">
        <title>Gestion des donneurs</title>
        <link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
        <link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css">
        <link rel="stylesheet" type="text/css" href="../css/monstyle.css">
    </head>
    <body>
        <?php include("menu.php"); ?>
        
        <div class="container">
            <div class="panel panel-success margetop60">
          
    <div class="panel-heading">Rechercher des donneurs</div>
    <div class="panel-body">
     
     <form method="get" action="donneur.php" class="form-inline">
     
      <div class="form-group">
                            
                            <input type="text" name="refD" 
                                   placeholder="Reference Donneur"
                                   class="form-control"
                                   value="<?php echo $refd ?>"/>
                                   
                        </div>
                           
               <div class="form-group">
                            
                            <input type="text" name="nomD" 
                                   placeholder="Nom du Donneur"
                                   class="form-control"
                                   value="<?php echo $nomd ?>"/>
                                   
                        </div>                        
                     
            <button type="submit" class="btn btn-success">
                            <span class="glyphicon glyphicon-search"></span>
                            Chercher...
                        </button> 
                        
                                                               
                        
                        <?php if ($_SESSION['user']['role']=='ADMIN') {?>
                        
                            <a href="nouveau donneur.php">
                            
                                <span class="glyphicon glyphicon-plus"></span>
                                
                                Nouveau donneur
                                
                            </a>
                            
                        <?php } ?>                 
                         
     </form>
    </div>
   </div>
            
            <div class="panel panel-primary">                
                <div class="panel-heading">Liste des donneurs (<?php echo $nbrDonneur ?> donneurs)</div>         
                <div class="panel-body">
                    <table class="table table-striped table-bordered">
                        <thead>
                            <tr>
                                <th>id donneur</th><th>Reference Donneur</th><th>Nom donneur</th><th>Prénom donneur</th><th>date naiss</th><th>Genre</th>
                                <?php if ($_SESSION['user']['role']== 'ADMIN') {?>
                                 <th>Actions</th>
                                <?php }?>
                            </tr>
                        </thead>
                        
                        <tbody>
                            <?php while($donneur=$resultatD->fetch()){ ?>
                                <tr>
                                    <td><?php echo $donneur['iddonneur'] ?> </td>
                                    <td><?php echo $donneur['ref_donneur'] ?> </td>
                                    <td><?php echo $donneur['nom_donneur'] ?> </td> 
                                    <td><?php echo $donneur['prenom_donneur'] ?> </td> 
                                    <td><?php echo $donneur['dat_nais_donneur'] ?> </td> 
                                    <td><?php echo $donneur['genre_donneur'] ?> </td> 
                                    
                                     <?php if ($_SESSION['user']['role']== 'ADMIN') {?>
                                        <td>
                                            <a href="editerdonneur.php?idF=<?php echo $donneur['iddonneur'] ?>">
                                                <span class="glyphicon glyphicon-edit"></span>
                                            </a>
                                             
                                            <a onclick="return confirm('Etes vous sur de vouloir supprimer ce donneur')"
                                                href="supprimerdonneur.php?idF=<?php echo $donneur['iddonneur'] ?>">
                                                    <span class="glyphicon glyphicon-trash"></span>
                                            </a>
                                        </td>
                                    <?php }?>
                                    
                                </tr>
                            <?PHP } ?>
                       </tbody>
                    </table>  
                  <div>
                     <ul class="pagination">
                        <?php for($i=1;$i<=$nbrPage;$i++){ ?>
                            <li class="<?php if($i==$page) echo 'active' ?>"> 
                                <a href="donneur.php?page=<?php echo $i;?>&refd=<?php echo $refd ?>&nomd=<?php echo $nomd ?>">
                                    <?php echo $i; ?>
                                </a> 
                             </li>
                        <?php } ?>
                    </ul>
                  </div>  
                </div>
            </div>
        </div>
    </body>
</HTML> 


EDIT : Ajout des balises de code

.
Configuration: Windows / Chrome 90.0.4430.85

2 réponses

Messages postés
32372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mai 2021
3 468
Merci pour votre réponse.
je vais essayer de voir le site pour voir comment detecter les erreurs en espérant trouver une réponse à mon problème sinon je reviendrai vers vous.
j'ai trouvé mon erreur; c'était au niveau de la requete.
Merci beaucoup pour votre aide