Partage
  • Partager sur Facebook
  • Partager sur Twitter

Req SQL PDO:recup nbr entrées et affichage

erreur dans ma requete?

    2 avril 2011 à 22:45:19

    Bonsoir à tous,

    Alors voilà : mon code me sert à récupérer le nbr d'entrées dans ma base, compter les résultats et me les afficher sous la forme '5 résultats par page'.
    Vous vous en doutez, ça ne fonctionne pas. Et bien q'il existe des enregistrements dans ma base, lors de son exécution mon code rentre dans :
    <?php 
    if($reponse->rowCount() <1)
    ?>
    


    :colere2:o_O:colere2:
    Il n'en affiche aucun, juste le maudit message '0 enregistrement'...
    Je ne trouve pas mon (mes) erreur(s). :euh:

    Comme je débute ça ne m'étonne pas trop. Si vous avez une piste...

    Merci :)

    Voici mon bout de code. et la connexion à la base se fait bien...

    <?php
    //cpte nbr total de résultats ds req et calcul nbr de page  
    $nombreDeMessagesParPage = 5;  
    
    $reponse = $connexion->prepare('SELECT COUNT(*) AS nbr FROM messages' );   
    $reponse->execute();  
    $donnees = $reponse->fetch();  
    $totalDesMessages = $donnees['nbr'];  
    
    if($totalDesMessages<1)  
    {  
     $msg='<p class="msg_erreur"> Aucun enregistrement de message n\'existe dans le forum.</p>';  
    }  
    else  
    {  
     // On calcule le nombre de pages à créer  
     $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);  
    
     // Puis on fait une boucle pour écrire les liens vers chacune des pages  
     echo 'Page : ';  
     for ($i = 1 ; $i <= $nombreDePages ; $i++)  
     {  
      $msg='<a href="'.$_SERVER['PHP_SELF'].'?page=' . $i . '">' . $i . '</a> ';  
     }  
    
     // Maintenant, on va afficher les messages  
     if (isset($_GET['page']))  
     {  
       $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse   
     }  
     else // La variable n'existe pas, c'est la première fois qu'on charge la page  
     {  
       $page = 1; // On se met sur la page 1 (par défaut)  
     }  
     // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL  
     $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;  
        
     $reponse = $connexion->prepare('SELECT * FROM messages WHERE u_id = msg_exp ORDER BY msg_date DESC LIMIT :premierMessageAafficher,:nombreDeMessagesParPage' );  
    
     $reponse->bindValue(':premierMessageAafficher',$premierMessageAafficher, PDO::PARAM_INT);  
     $reponse->bindValue(':nombreDeMessagesParPage',$nombreDeMessagesParPage , PDO::PARAM_INT);  
     $reponse->execute();  
    
     if($reponse->rowCount() <1)  
     {  
      $msg.='<p class="msg_erreur"> Aucun enregistrement de message n\'existe dans le forum.</p>';  
     }   
     else  
     {  
      $msg.='<div style="background:#f7f7f7">';  
      while ($info_msg = $reponse->fetch(PDO::FETCH_OBJ))  
      {  
       //ttt date  
       $ttt_date = date("d/m/Y \à H\hi",strtotime($info_msg->msg_date));  
       $msg.='<h5 style="display:inline; color :#cccccc;font-size:17px;">'.$info_msg->u_nom.'</h5><span class="font-size:11px;color:#999999"> le '.$ttt_date.'</span>  
          <p style="font-size:12px;color:black;">  
           '.$info_msg->msg_txt.'  
          </p>  
         <hr/>';  
      }  
      $msg.='</div>';  
     }  
     $reponse->closeCursor();  
    }  
    echo $msg;
    
    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2011 à 22:23:19

      Ce message a été décalé dans le forum PHP et a été solutionné. Il possède l'intitulé :"Pb req SQL PDO PHP: recup nbr d'entrées et affichage"...
      ...pour ceux que ça intéresse :)
      • Partager sur Facebook
      • Partager sur Twitter

      Req SQL PDO:recup nbr entrées et affichage

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown