Ciao a tutti,

nel mio sito, ho in un database delle dispense, con chiave primaria idD che va da 1 a 24, aventi il campo idT=1.
Adesso, vorrei mostrare le mie dispense 9 alla volta da quella con idD maggiore(la più recente) a quella con idD minore(la meno recente).
Quindi in questo caso ho 3 pagine, dove nella prima mostro le dispense dalla 24 alla 16, nella pagina 2 dalla 15 alla 7 e nella pagina 3 dalla 6 alla 1.

Il codice che uso è il seguente:
codice:
<html>
   <head>
         <img class="logosito" src="Logo.jpg" alt="Logo sito">
         <?php include "..\www.Test1.it\crea.php";
               include "..\www.Test1.it\crea-tabelle.php";
               //serve per aprire la connessione al database
               include "..\www.Test1.it\Connetti.php";
               include_once('C:\xampp\htdocs\www.Test1.it\FStile.css');
               //include ('navbar.php');
         ?>
      <ul>
         <li><a class="active" href="..\index.php">Home</a></li>   
         <li><a href="..\Dispense.php">Dispense</a></li> 
         <li><a href="..\Esercizi.php">Esercizi</a></li> 
         <li><a href="..\Videolezioni.php">Videolezioni</a></li> 
         <li><a href="..\Tutorial.php">Tutorial</a></li>
     </ul>
   </head>
   <body>
       <div>
         <p class="large">Benvenuto su TuttoIngegneria.it, il portale dedicato agli studenti delle facoltà scientifiche.<br>
         Qui troverai tutto il materiale necessario allo studio, e non solo, sono presenti dispense, eserciziari, videolezioni,
         tutorial e molto altro.<br>
         La home contiene qui di seguito i caricamenti più recenti, che siano dispense, tutorial o contributi video.
         <br>Buona Navigazione!! Non dimenticare di seguirici anche su youtube.</p>
       </div>
         
         <?php
         
            //indica i limiti di selezione delle dispense
            $m=0;
            $M=9;
            
            $query="SELECT idD FROM dispensa";
            $risultato=mysqli_query($conn,$query);
            $righe=mysqli_num_rows($risultato);
            
            if(($righe% 9)==0)
            {
               $pag=$righe/9;
            }else {
               $pag=floor($righe/9)+1;
            }
            
            if($_GET['pages']!=NULL)
            {
               $arrivata=$_GET['pages'];
               if($arrivata==1)
               {
                  $m=0;
                  $M=9;
               }else if($arrivata>1)
               {
                  $m=0;
                  $M=9;
                  for($i=0;$i<=($arrivata-1);$i++)
                  {
                     $m=$m+9;
                     $M=$M+9;
                  }
               }
            }
            
            $query2="SELECT * FROM dispensa WHERE idT='1' AND idD>".$m." AND idD<=".$M." ORDER BY idD DESC";
            $risultato2=mysqli_query($conn,$query2);
           /* $query="SELECT COUNT 'idD' FROM dispensa ";
            $r=mysqli_query($conn,$query);
            $query1="SELECT * FROM dispensa WHERE idT='1' ORDER BY idD DESC LIMIT 9";
            $r1=mysqli_query($conn,$query1);*/
            
            if(mysqli_num_rows($risultato2)>0)
            {
               $c=0;
               //mandiamo i dati in output
               while($row=mysqli_fetch_assoc($risultato2))
               {
                  if($c==0)
                  {
                     echo "<ul class=\"result\">";
                     echo "<li class=\"result\"><a href=".$row['file']."><img src=".$row['immagine']."></a></li>";
                     $c++;
                  }else if($c==1)
                  {
                     echo "<li class=\"result\"><a href=".$row['file']."><img src=".$row['immagine']."></a></li>";
                     $c++;
                  }else if($c==2)
                  {
                     echo "<li class=\"result\"><a href=".$row['file']."><img src=".$row['immagine']."></a></li><br>";
                     $c=0;
                     echo "</ul>";
                  }
               }
 
            }  
            
            
            echo "<form id=\"form-id\" method=\"get\" action=\"index.php\">";
            echo "<select name=\"pages\" onchange=\"this.form.submit()\">";
            $x=0;
            for($i=0; $i<$pag; $i++)
            {
               $x=$i+1;
               if($_GET['pages']==$x){
               echo "<option value='$x' selected='selected'>$x</option>";
               } else {
               echo "<option value='$x'>$x</option>";
               }
            }
            echo "</select>";
            echo "</form>";
         ?>
         
   </body>
</html>
ho il problema, che le dispense vengono visualizzate non nella maniera che ho descritto, prima, infatti nella pagina 1 sono mostrate le dispense con idD che va da 9 ad 1, nella pagina 2 quelle con idD che va da 24 a 19, e la pagina 3 è vuota.
Non riesco a capire da dove derivi il problema, inoltre ho anche l'errore, appena caricata la pagina, ovvero prima di fare una qualsiasi delle pagine da visualizzare, sulla linea 45 del codice-> Undefined index: pages in C:\xampp\htdocs\www.Test1.it\index.php on line 45.

Grazie a tutti per l'aiuto!!