systeme de pagination qui bug

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
jeannot_gates

jeannot_gates Le 17 août 2016 à 11:32 (Édité le 25 janvier 2019 à 17:52)

bonjour a vous tous je suis entrain de monter un site de téléchargement de fichier audio et j'ai mis un systeme de pagination qui fonctionne du genre si le nombre d'entrer dépasse 10 une nouvelle page est creer. Mais il y'a une erreur qui s'affiche et que je ne comprend pas
Fatal error: in C:\wamp\www\sound\new_hit.php on line 148
et
PDOException: in C:\wamp\www\sound\new_hit.php on line 148
au niveau de cette partie:$req=$bdd->query($sql); qui correspond c'est mois a la ligne 148.
Merci d'avance pour vos réponse.
voici mon code
<?php
   include('include/connect.php');
   $req= $bdd->query("SELECT id FROM urban_audio ");
   $nbre_total_articles= $req->rowCount();
   $nbre_articles_par_page=10;
   $nbre_articles_max_avant_et_apres=4;
   $last_page= ceil($nbre_total_articles / $nbre_articles_par_page);
   if(isset($_GET['audio']) AND is_numeric($_GET['audio']))
   {
      $page_num= $_GET['audio'];
   }
   else
   {
      $page_num = 1;
   }
   if($page_num < 1)
   {
      $page_num = 1;
   }
   else if($page_num > $last_page)
   {
      $page_num = $last_page;
   }
   $limit = 'LIMIT'.($page_num -1) * $nbre_articles_par_page.','.$nbre_articles_par_page;
   $sql= "SELECT id, titre_page, image, titre, nom, lien, ecoute, poid FROM urban_audio ORDER BY id DESC $limit";
   $pagination = '';
      if($last_page !=1)
      {
         if($page_num >1)
         {
            $previous= $page_num-1;
            $pagination .='<a href="new_hit.php?audio='.$previous.'">Précédent</a>';
            for($i= $page_num - $nbre_articles_max_avant_et_apres; $i < $page_num;$i++)
            {
               if($i > 0)
               {
                  $pagination .='<a href="new_hit.php?audio='.$i.'">'.$i.'</a>';
               }
            }
         }
         $pagination .='<sapn class="active">'.$page_num.'</sapn>';
         for($i = $page_num+1; $i<= $last_page;$i++)
         {
            $pagination .='<a href="new_hit.php?audio='.$i.'">'.$i.'</a>';
            if($i >= $page_num + $nbre_articles_max_avant_et_apres)
            {
               break;
            }
         }
         if($page_num != $last_page)
         {
            $next = $page_num +1;
            $pagination .='<a href="new_hit.php?audio='.$next.'">Suivant</a>';
         }
      }
   
?>
<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Urban musique</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="css/jquery.pageslide.css">
  <link rel="stylesheet" href="css/responsive.css">
  <link rel='stylesheet'href='font/css/font-awesome.css'type='text/css'media='all'/>
  <meta name="geo.placename" content="Yaounde, Centre, Cameroun">
  <meta name="description" content="Toute les nouvelles sorties de musique disponible sur Thelifestore">
  <meta name="og:description" content="Toute les nouvelles sorties de musique disponible sur Thelifestore">
  <meta name="keywords" content="Musiques camerounaises: Téléchargez, partagez et écoutez de la musique 100% camerounaise ">
  <meta property="og:site_name" content="Thelifestore.net">
  <meta name="copyright" content="Thelifestore.net Copyright 2016-2017">
  <meta name="language" content="fr">
  <link rel="icon" sizes="192x192" href="img/twitter.png">
  <script src="js/slideshow.js"></script>
  <script src="js/bulle.js"></script>
  <style>
    button
    {
      border:none;
      cursor:pointer;
      background-color:#fff;
      color:black;
    }
    </style>
</head>
<body style='background-color:#ececec;'>
<div class='menu_fixe'>
    <header>
     <a class="open" href="#js-menu"></a>
  </header>
 <?php
   include("include/menu_de_navigation.php");
  ?>
  <a href="index.php"><img src="img/logo_site.png"class='logo_site2'></a>
   <!--<a href="rythme_musique.php"class='se_connectez2'><span style='text-transform:uppercase;'>ç</span>a se passe ici !!!</a>-->
  <!--<a href="inscription/"class='inscription'>Inscription</a>-->
</div>
  <!-- debut code pour les images qui defile sur la page d'accueil -->
    <div id="slideShowImages"class='responsive'>
      <img src="img/hero_3-d062ed528994495e84af5a7d6039b9caa89bb92fd753894e4ae82d00318d8cb9.jpg" alt="Slide 1"/>
      <img src="img/hero_5-69dda2f27ecd2c8c7f1c94e21ed49aece70082a740905a3c6cb5ec26dbb2cd95.jpg" alt="Slide 2"/>
      <img src="img/thelifestore_slider_index.jpg" alt="Slide 3"/>  
      <img src="img/hero_2-ce4b7944e38048218d3dd9029d9dca59f95de2a240eca3cce9a47b08c49b7d50.jpg" alt="Slide 3"/> 
    </div> 
  <!-- debut code pour les images qui defile sur la page d'accueil -->
 
   <script src="js/jquery-1.7.2.min.js"></script>
   <script src="js/jquery.pageslide.min.js"></script>
   <script src="js/slideshow.js"></script>
   <script>
      $(".open").pageslide();
   </script>
   <div class='ecouter_de_la_musique'>
      <p class='partout'>Bienvenue sur Thelifestore.net/ musique.</p>
      <p class='une_petite_description'>Ou que vous soyez, quelque soit l'endroit ou vous vous trouvez la musique vous accompagneras et vous berceras'. </p>
      <a href='new_hit.php'class='cest_gratuit'>Incrivez vous c'est gratuit</a>
   </div>
   <p style='margin-top:-270px;'></p>
   <div class="div_corps_du_site">
      <p class='nouveauter'>
         musique
      </p>
      <p class='nouvelle_sortie'>
         Dernières sorties
      </p>
      <br>
      <?php
         include("include/top_musique.php");
      ?>
      <!-- debut du code pour le menu de gauche-->
      <div class='menu_de_gauche'>
         <div class="ecoutez_telechargez">
            <img src='img/logo_site.png'class='logo_ecoute_telechargez'>
            <p class='texte_ecoute_et_telechargez'> Ecoutez et téléchargez gratuitement tous vos hits<br> sur Thelifestore.net</p>
         </div>
         <div class='cadre_infos'>
            <div class='pochet_texte'> Pochette </div>
            <p class='pochet_texte2'>Nom et titre du morceau</p>
            <p class='pochet_texte3'>Téléchargez et Ecouter</p>
         </div>
         <!-- debut du code html pour la photos de lartiste le titre de la musique et le lien de telechargemant-->
         <?php
            $req=$bdd->query($sql);
            while($donne=$req->fetch())
            {
         ?>
            <div class='encadre_info_supplementaire'>
               <img src="img/<?php echo $donne['image'];?>"class='image_pochette'>
               <div class='encadre_titre_et_lien_de_telechargement'>
                  <p class='le_titre_de_la_chanson'><?php echo $donne['titre'];?></p>
                  <p class='le_nom_du_chanteur'><?php echo $donne['nom'];?></p>
               </div>
               <!-- debut code js qui permet a un utilisateur de suivre de la musique-->
                     <a href='<?php echo $donne['lien']?>'download class=''title='Téléchargez la musique'><i class="fa fa-download fa-2x" aria-hidden="true"style="margin-right:10px;color:rgba(0,0,0,.7);font-size:1.5em;margin-left:5px;margin-top:5px;"></i></a>
                  <audio id="audioPlayer<?php echo $donne['id'];?>">
                     <source src="<?php echo $donne['lien'];?>"></source>
                  </audio>
                  <button class="control<?php echo $donne['id'];?>" onclick="play<?php echo $donne['id'];?>('audioPlayer<?php echo $donne['id'];?>',this)"title='écouter la musique'><i class="fa fa-play fa-2x" aria-hidden="true"style='margin-right:10px;color:rgba(0,0,0,.7);margin-left:5px;margin-top:5px;font-size:1.9em;'></i></button>
                     <script>
                       function play<?php echo $donne['id'];?>(idPlayer, control) 
                       {
                        var player = document.querySelector('#' + idPlayer);
                        if (player.paused) 
                        {
                          player.play();
                          control = '<i class="fa fa-play fa-2x" aria-hidden="true"></i>';
                        }
                        else 
                        {
                          player.pause();
                          control = '<i class="fa fa-pause fa-2x" aria-hidden="true"></i>';
                        }
                       } 
                       function resume(idPlayer) 
                       {
                        var player = document.querySelector('#' + idPlayer);
                        player.currentTime = 0;
                        player.pause();
                       }
                     </script>
                  <span class='poid_du_fichier'style=''><?php echo $donne['poid'];?> Mo</span>
            </div>
            <?php
            }
            ?>
         
      </div>
      <!-- fin du code pour le menu de droite-->
      <?php
         include("include/menu_de_droite.php");
      ?>
      <!-- cadre_pour_les_boutton_suivant_et_precedent-->
      <div class='les_boutton_suivant_et_precedent'>
      <?php 
         echo '<div id="deux">'.$pagination.'</div>';
      ?>
      </div>
   </div>
   
   <?php
      include('include/footer.php');
   ?>
</body>
</html>
TheOldNoob

TheOldNoob Le 17 août 2016 à 21:46

Je t'es déjà répondu par mail, mais je met l'erreur ici aussi dés fois que ça interesse des codeurs 😀

Sur ta ligne 24:

$limit = 'LIMIT'.($page_num -1) * $nbre_articles_par_page.','.$nbre_articles_par_page;
Il manque un espace, du couple serveur lit ceci :

'LIMIT0,10'
Alors qu'il a besoin de lire cela :

'LIMIT 0,10'
Donc ligne 24, tu met :

$limit = 'LIMIT '.($page_num -1) * $nbre_articles_par_page.','.$nbre_articles_par_page;
jeannot_gates

jeannot_gates Le 18 août 2016 à 11:59

Bonjour et merci pour ton aide il fonctionne trés bien maintenant.
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte