Salve ragazzi! Sono un novizio del php.. perciò perdonate le mie scarse competenze..
Il codice che ho riportato sotto è un esercizio di paging.
Dato un array che mi scrive le lettere dalla "a" alla "z"
Voglio che mi si crei dinamicamente una tabella che mi visualizzi 4 lettere per volta, le altre lettere saranno visualizzate nei link delle pagine sottostanti. Ogni lettera ha alla sua sinistra un numero progressivo, tipo a =1 b =2 c =3 .. etc etc
Ho riscontrato due problemi:
1- i numeri progressivi non scorrono.. se avanzo con le pagine ma rimangono sempre 1-2-3-4
2- se vado nell'ultima pagina mi da un errore di "Undefined Offset"
Qualcuno potrebbe suggerirmi come procedere? Grazie mille!
<body>
<table border="1">
<?php
if (!isset($_GET['pag']) OR $_GET['pag']==''){ // se arrivo per la prima volta nella pagina
$start= 1; // la prima tranche di dati che andrà a visualizzare la prima pagina
} else {
$start = $_GET['pag'];
}
// creo una variabile leggibile dalla barra degli indirizzi --> intercettata con $_GET
$lettere =range('a','z') ;
$conteggio =count($lettere);// utilizziamo il ciclo for perchè abbiamo necessità di contare i record totali ottenuti
$start = ($start * 4) - 4;// mi coordina la distribuzione degli elementi rispetto alle pagine es: prima tranche 0-1-2-3... (dipende quanti elementi vogliamo visualizzare del nostro array
$n =1;// creiamo una variabile per il contatore dei record ATTENZIONE! CHE NON E' L'INDICE DELL' ARRAY
$stop =$start + 4;
for($i=$start;$i<$stop;$i++){
echo "<tr>";
echo "<td width=\"50\">".$n."<td>";
echo "<td width=\"200\">".$lettere[$i]."<td>";
echo "</tr>";
// il contatore dei record si incrementa di 1 una volta che conclude il ciclo for
$n++;
}
echo "<tr>";
echo "<td width=\"250\">"."Nr. Totale:".$conteggio."<td>";
echo "<td width=\"200\">";
$pagine = $conteggio / 4;
for ($p=1;$p<$pagine;$p++){
echo "<a href=\"esercizi.php?pag=$p\">".$p."</a>"." ";
}
// % vuol dire modulo
$pagine = $conteggio % 4;// mi calcola il resto della divisione, ma non il suo risultato
if ($pagine > 0) {
echo "<a href=\"esercizi.php?pag=$p\">".$p."</a>"." ";
}
echo "</td>";// l'impaginazione che indica il numero delle pagine a seconda di quanti record
echo "</tr>";
?>
</table>
</body>