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:
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.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>
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!!![]()

Rispondi quotando
